ListView未从MVC模型更新

时间:2011-07-27 06:53:20

标签: android listview broadcastreceiver

我有一个菜单,当被触发时发送一条SMS并从BroadCastReciever中,数据被发送到解析数据的模型类,并被设置到模型属性中。模型类有一个返回ArrayList的方法,该ArrayList设置为BaseAdapter?

我的问题是我需要首先触发菜单,然后发送短信并按上述方式执行。列表视图未更新,但如果我再次单击该菜单,则只显示listview。 我做错了什么,以便我需要两次点击我的菜单并且只更新列表视图?

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

似乎您的列表不知道更新BaseAdapter时设置了新数据。如果是这种情况,则应在适配器中调用notifyDataSetChanged(),如果数据不为空,则调用其中的数据;如果数据为空,则调用notifyDataSetInvalidated()。

答案 1 :(得分:0)

这个解决方案对我有用:

yourAdapterObject = new MyAdapter(getApplicationContext(),arrayList); listView.setAdapter(yourAdapterObject); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); ((MyAdapter)yourAdapterObject).notifyDataSetChanged();