我有一个菜单,当被触发时发送一条SMS并从BroadCastReciever中,数据被发送到解析数据的模型类,并被设置到模型属性中。模型类有一个返回ArrayList的方法,该ArrayList设置为BaseAdapter?
我的问题是我需要首先触发菜单,然后发送短信并按上述方式执行。列表视图未更新,但如果我再次单击该菜单,则只显示listview。 我做错了什么,以便我需要两次点击我的菜单并且只更新列表视图?
有什么建议吗?
答案 0 :(得分:0)
似乎您的列表不知道更新BaseAdapter时设置了新数据。如果是这种情况,则应在适配器中调用notifyDataSetChanged(),如果数据不为空,则调用其中的数据;如果数据为空,则调用notifyDataSetInvalidated()。
答案 1 :(得分:0)
这个解决方案对我有用:
yourAdapterObject = new MyAdapter(getApplicationContext(),arrayList); listView.setAdapter(yourAdapterObject); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); ((MyAdapter)yourAdapterObject).notifyDataSetChanged();