从服务通知适配器,适配器刷新,但ListView没有?

时间:2014-06-29 00:19:26

标签: android adapter

我的ListView遇到了一个奇怪的问题,我试图从服务中更新我的LisView。
我的适配器是静态的,我的ListView也是如此,当我调用notifyDatasetChanged()时,我可以看到我的适配器正常工作,但我的ListView确实没有自我刷新。
我尝试使用eventManager,Handler(),Handler with Main Looper,来自EventManager的runOnUiThread,所有这些结果相同,但是当我使用Fragment本身的任何方法(包含ListView)时,它完美地运行: / p>

    mHandler.post(new Runnable() {                                   


            @Override
public void run() {


                //Refresh View if its CurrentView
                if(NotificationsManager.CurrentView.equals(SplittedName)){
                    SingleChat.adapter.notifyDataSetchanged();

                    System.out.println("Adapter Notified");
                }

这是我的适配器:

 adapter = new      
ChatAdapter(MainActivity.MAcontext,android.R.layout.two_line_list_item, 
aCursor,headers,new int[]{android.R.id.text1, android.R.id.text2}, 0);  

2 个答案:

答案 0 :(得分:0)

看来我没有打电话给Cursor.requery。 这样做解决了这个问题。

答案 1 :(得分:-2)

尝试找到一种删除缓存的方法。我的工作了。
 MainApplication.getInstance()。getRequestQueue()。getCache()。remove(url);