我有一個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