【问题标题】:Update Listview visible view (row) from another activity从另一个活动更新 Listview 可见视图(行)
【发布时间】:2014-09-12 18:45:55
【问题描述】:

你好呀。 H 有一个由 MyCustomAdapter 填充的列表视图。在我的自定义适配器中,我通过 json 从服务器检索数据并将它们保存在 ArrayList<HashMap<String, String>>

MyCustomAdapter 构造函数是这样的:

public MyCustomAdapter(Activity a, ArrayList<HashMap<String, String>> d){
        mActivity   = a;
        mData       = d;
        mInflater   = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

在我的 getView 中,我从 mData 中检索数据并将它们设置为您可以在图像中看到的标题、描述等视图。

当用户去编辑活动并在那里编辑一些数据时,我想及时更新我的​​列表视图数据。 怎么能这样?

在 Google+ 应用程序中,当您阅读帖子并在帖子活动中点赞时,当您返回所有帖子列表时,该帖子点赞按钮已更新!我想要这样的东西

感谢您的帮助:)

【问题讨论】:

    标签: java android listview notifydatasetchanged


    【解决方案1】:

    由于您使用的是 ArrayList&lt;HashMap&lt;String, String&gt;&gt; 而不是游标/内容提供程序,因此您的适配器不会自动收到基础数据更改的通知。

    一种方法是使用 Otto (http://square.github.io/otto/) 之类的东西或任何事件总线来传递事件,以通知您的活动有关基础数据的某些更改。

    您的第一个活动应该订阅数据更新事件,然后在您的第二个活动中,您应该将此活动与新数据一起发送

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    相关资源
    最近更新 更多