从另一个活动更新Listview可见视图(行)

时间:2014-09-12 18:45:56

标签: java android listview notifydatasetchanged

enter image description here 嗨,您好。 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+应用中,当您阅读帖子并在发布活动时喜欢这样做时,当您回到所有帖子的列表时,该帖子就像按钮已更新!!我想要这样的东西

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

由于您使用的是ArrayList<HashMap<String, String>>而不是游标/内容提供者,因此基础数据的更改不会自动通知您的适配器。

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

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