我一直在浪费太多的时间在这个,所以不得不再次问。我不知道为什么这会发生。数组适配器notifyDataSetChanged()将不起作用
我有一个数组适配器(aAdapter)和一个数组列表(aList),我试图把一个清除按钮来擦除数据库中的条目并清除列表。
我的问题是NotifyDataSetChanged()从我的点击数的方法在这里里面只是不会工作:
public void clearDB(View view) {
aList.clear();
aAdapter.notifyDataSetChanged();
HighScoresDB hsdb = new HighScoresDB(HighScoresActivity.this);
hsdb.openDB();
hsdb.clearDB();
hsdb.closeDB();
}
它从其他地方,虽然工作。我甚至试图把清除和notifyDataSetChanged()在另一种方法,并调用它,但也不起作用,但是,当我从onCreate调用它时,工作。
任何想法?
p.s.数据库正在清除。
你试过'notifyDataSetInvalidated()'而不是'notifyDataSetChanged()'吗? – edthethird 2012-06-08 02:16:23
如果你有一个数据库,我强烈建议使用CursorAdapter。这是神奇的!你不必做notifyDataSetChanaged()它只会知道你已经对数据库进行了改变并且自己进行了全部更新。 – MinceMan 2013-09-06 23:02:12