【发布时间】:2014-07-31 22:01:42
【问题描述】:
我正在尝试在 Android 上更新 ListView。我在列表中插入新项目,然后调用 notifyDataSetChanged() 并没有任何反应!而且我正在使用 runOnUIThread,应该可以正常工作吗?
这是我的代码:
@Override
//this is where I create the ListView with my custom adapter..
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Globals.getInstance().readWarehouse(this);
Toast.makeText(this, "É:" + Globals.getInstance().getWarehouse().getJointNames().length , Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_main);
adapter = new CustomList(MainActivity.this, Globals.getInstance().getWarehouse());
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
}
然后我在另一个活动上编辑此适配器的内容.. 添加更多项目.. 然后我回到这个活动,然后我调用这个方法来刷新列表..但是什么都没有发生..这是我刷新的代码:
@Override
protected void onResume(){
super.onResume();
runOnUiThread(new Runnable() {
@Override
public void run() {
((BaseAdapter) list.getAdapter()).notifyDataSetChanged();
}
});
Toast.makeText(this, "onResume triggered.. and list not refreshing.. even after the call made before to notify.." , Toast.LENGTH_LONG).show();
}
有人可以帮助我吗?非常感谢!
【问题讨论】:
-
你用 onResume() 方法中的 runOnUiThread 杀了我
-
你能把修改列表的第二个活动的代码贴出来吗?
-
列表大小正在更新,因为我用 Toast 消息检查它...
-
能否请您发布适配器CustomList的代码。我相信适配器应该会发生一些事情。
标签: android listview refresh adapter items