Работаю с мультимедийным плеером. Где список песен отображается в listView. так, например, если воспроизводится первая песня, первая строка должна быть помечена как играющая, а другая строка должна быть снята. Затем, если пользователь нажимает на третью, вторую или любую другую строку, текущая строка должна быть снята. И нажатая строка должна быть отмечена. Здесь отмеченные и немаркированные означают Play и Pause. Я играю и делаю паузу, чтобы играть с одним и тем же рядом. Но как изменить элемент предыдущей строки? Могу ли я хранить View более раннего ряда в View? или что-нибудь еще?
Вот код setOnClickListener
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView imagEar = (ImageView) viewEar.findViewById(R.id.thumb);
imagEar.setImageResource(R.drawable.pause);
imagEar.setTag("pause");
viewEar = v;
if (imageView.getTag().toString().equals("play")){
imageView.setImageResource(R.drawable.pause);
imageView.setTag("pause");
}else if (imageView.getTag().toString().equals("pause")){
imageView.setImageResource(R.drawable.play);
imageView.setTag("play");
}
}
});
Я уже заявлял View viewEar;




Привет, проверьте приведенный ниже URL-адрес, чтобы получить более полное представление о ваших требованиях. В основном вам нужно взять одну переменную, которая говорит selectedPosition, при нажатии на элемент вы изменяете значение selectedPostion, и, используя это, вы можете применять изменения в этом представлении и путем вызова notifySetChanged (), которые обновляют список.
http://www.devexchanges.info/2015/11/listview-with-checkbox-single-row.html
иначе вы можете создать метод в адаптере, который занимает выбранную позицию или что-то в этом роде. с помощью этого вы можете изменить значение в адаптере, а затем уведомить. это будет работать хорошо.
Может быть, эта почта поможет