Android 中Listview 获取每个item的id,并动态修改item上面的显示

定义了一个class listViewAdapter extends BaseAdapter 用来生产listview
如何支持刷新呢?

第1个回答  2013-05-01
用一个adapter监听item
第2个回答  2013-05-01
  用一个adapter监听item
第3个回答  推荐于2016-01-15
在加载数据和更新数据时调用以下代码:
// 生成适配器的Item和动态数组对应的元素
SimpleAdapter listItemAdapter = new SimpleAdapter(this, listItem,// 数据源
R.layout.listview_orderitems,// ListItem的XML实现
// 动态数组与ImageItem对应的子项
new String[] { "ordercode", "username","userphone" },
// ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] { R.id.ItemTitle, R.id.ItemText ,R.id.ItemText1});
listItemAdapter.notifyDataSetChanged();//这句就是及时刷新列表的
// 添加并且显示
list.setAdapter(listItemAdapter);追问

我用的是BaseAdapter
因为extends ActionBarActivity,所以没有用ListActivity
其次 我用 adapter.notifyDataSetChanged(); 无法触发更新。。。求详细解答

追答

你自己定义的数据源加载方法是吧,然后ACTIVITY里调用。应该是一样的。当你数据有改变时,你要重新加载一遍数据比如我上面的代码是在一个叫loadDate()的方法里,当加载列表时调动这个方法,当修改数据时也要调用,不仅仅是调用那句话。

追问

private void updata()
{
listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();

}
这样可以么。。

追答

第一句可以放到onCreate方法里面去,在 listView.setAdapter(adapter); 之前补充你自己具体的数据加载代码就可以了

追问

我直接更新数组的方式 drawc[p]=R.drawable.ic_tfc;,然后按你的触发了更新,但是显示还是还是没有变化。。。

追答

...我知道的都告诉你了。你在百度看看吧。有没类似的问题,不好意思。没能帮到你

本回答被提问者和网友采纳
相似回答