1

我在此活动中有一个列表视图

首先,我将用这个显示列表视图

adapter = new CustomAdapter_LatestNews(this, title, category, date,
            imagepath);     

lv.addFooterView(constant.AdMob());
lv.setAdapter(adapter);

我正在使用扩展基本适配器的自定义适配器。

public View getView(int position, View convertView, ViewGroup parent)

在此活动中,我有一个刷新按钮,用于更新数据并回调相同的活动。

startActivity(new Intent(Main_AllLatestNews.this, Main_AllLatestNews.class));
finish(); 

看起来 getview 正在重用数据?

在按下刷新按钮之前

结果>图像0 0 0 0 1 0 1 0 0 0 正确显示(无论我如何滚动)

按下刷新按钮后

结果 > 图像 1 1 1 1 1 1 1 1 1 1 显示不正确(滚动会导致这种情况)

如何解决这个问题呢?

4

2 回答 2

2

你可以试试它对我有用:

列表视图和适配器的初始化:

listView = (ListView) findViewById(R.id.list_view);
adapter = new MessageAdapter(this);
listView.setAdapter(adapter);

重置列表和适配器数组:

listView.removeAllViewsInLayout();
listMessages.clear();
于 2015-07-22T05:30:11.713 回答
0

刷新列表视图的正确方法不是重新启动活动。

相反 - 在刷新逻辑列表/或适配器使用的数据后,您需要做的就是调用:

adapter.notifyDataSetChanged();
于 2012-05-14T04:02:44.997 回答