У меня есть 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