-1

好的,所以我调用了一个广播接收器,并且在该onReceive()方法中,我使用静态数据使用新适配器更新了画廊,所有这些都在 UI 线程上完成。

然而,什么都没有改变。旧数据留在库中,但是当我调试代码并花时间时,它会在调用 invalidate 后更新。哦,顺便说一句,视图位于 ViewFlipper 中,但我在创建新适配器之前更改为正确的视图。所以我有比赛条件,这正常吗?如果不是,我该怎么办?

下面是我在onRecieve().

onRecieve() {
    mFlipper.setDisplayedChild(0);
    mNavAdapter.addCategory(-1);
    mGalNav.setSelection(0);
    getCategoryProducts(-1);
}

void getCategoryProducts(int category) {
   mGalProducts.setAdapter(new DealCheckInAdapter(this,
   getCheckInProducts()));
   mGalProducts.invalidate();
}
4

1 回答 1

1

invalidate()方法不应该做我猜你认为它会做的事情。你假设使用:

mDealCheckInAdapter.notifyDataSetChanged(); 

这是“刷新” listView 适配器的方法。

于 2012-04-10T21:05:55.593 回答