Я пытаюсь использовать BaseAdapter для отображения элемента в ListView. Я пробую под кодом в BaseAdapter.Изменение цвета фона фона при перемещении элемента в ListView
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//...
convertView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
v.setBackgroundResource(R.drawable.ic_corner_four_click);
break;
case MotionEvent.ACTION_UP:
v.setBackgroundResource(R.drawable.ic_corner_four);
break;
}
return false;
}
});
}
В то время как предмет должен быть затронут, он меняет фон на ic_corner_four_click. Но пока отпустите палец или перейдите к другому предмету, он не изменился на ic_corner_four. Как его изменить?
iam using stateListDRawable. но когда мы прокручиваем список, выбор отключается. Зачем? как это исправить? я много искал, и я попробовал «choice_mode_single», но я не смог сохранить выделение. Есть идеи? – AD14
А, это другая проблема. Я думал, тебе просто нужен особый фон при прикосновении. Если вы хотите сделать это, это немного сложнее. Вы должны сохранить позицию выбора в модели и переопределить метод getView() в адаптере, чтобы вызвать 'view.setSelected (true)', если представление выбрано. – dmon