【问题标题】:Is there a way to call notifyDataSetChanged() from the main activity for a custom adapter of an item inside another custom adapter?有没有办法从主活动调用 notifyDataSetChanged() 以获取另一个自定义适配器内的项目的自定义适配器?
【发布时间】:2011-01-21 00:22:35
【问题描述】:

我一直在尝试解决这个问题,但我还想不通。在我的布局中有一个带有自定义适配器的列表视图。在每个视图中,我有许多对象存储在一个名为 ViewHolder 的静态类中。一个是带有另一个自定义适配器的画廊。

我的问题是在我的 Activity 上获得 onActivityResult 之后。我需要将 notifyDataSetChanged() 发送到我的画廊适配器。如果我这样做:

((BaseAdapter)list.getAdapter()).notifyDataSetChanged();

适配器内的所有项目都会刷新,除了那些有自己的自定义适配器的项目。

现在我想也许我想也许有一种方法可以覆盖 onNotifyDataSetChanged() 或类似的方法,以便在我通知它后从我的 ListAdapter 中发送通知。但是我找不到这样的东西,有没有办法做到这一点?

我还注意到,如果我尝试这样做:

((BaseAdapter)ListAdapter.ViewHolder.this.gallery.getAdapter()).notifyDataSetChanged();

它说:“ListAdapter.ViewHolder 的封闭实例在范围内不可访问”有没有办法让它可访问?

或者另一种方式来完成我想要做的事情?

提前致谢

【问题讨论】:

    标签: android-layout gallery listadapter notify


    【解决方案1】:

    我感到很惭愧...似乎我忘记更新一些变量以使其正常工作...

    所以结论是,如果你调用,适配器内部的适配器会更新:

    .notifyDataSetChanged();

    你只需要做对

    【讨论】:

    • 能否请您详细说明一下这个 Mateo。我也坚持这一点,需要一些帮助。当适配器“B”中发生事件时,我想将 DataSetChanged 通知给适配器“A”。这些适配器是自定义适配器。请帮忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多