我有一个ListView,点击某个项目后,我希望它被永久选中,因此可以根据按下哪个按钮来执行一些其他操作。有点像RadioBox,但在列表视图中。所以当按下时,背景会保持黄色,我会保存一个选择了哪个项目的商店。目前,当它被点击的时候,背景会发生变化,但是在选中时会产生奇怪的行为,并且我滚动ListView所选项目发生变化。已选择的项目ListView背景更改
代码,我有:
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < titles.size(); i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", titles.get(i));
mylist.add(map);
}
SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.listcell,
new String[] {"name"}, new int[] {R.id.txtItemName});
ListView listView1 = (ListView) findViewById(R.id.ListView01);
listView1.setAdapter(mSchedule);
listView1.setTextFilterEnabled(true);
listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Log.v("Test", v.toString());
v.setBackgroundResource(R.drawable.newbackground);
}
});
}
听起来你是对的,我会滚动,然后回到我所在的位置,这将是一个不同的项目选择。它不是真正的长按,它需要点击,背景改变,然后我可以删除或开始一个新的意图取决于下一个按钮按下。 – SamRowley 2011-02-04 13:59:11