Мне нужна помощь в этой проблеме, у меня есть список с строкой, содержащей изображение воспроизведения/остановки и textView, если я нажимаю звук воспроизведения воспроизводимого изображения и меняю значок, чтобы остановить изображение и инвертировать если я нажимаю на строку, делаю то же самое, но проблема в том, что когда я нажимаю строку, изменение изображения в порядке, но если нажать на изображение самого следующего ряда, измените изображение в выбранной строке, но не инвертируйте изображение строки, выбранной перед, я хочу обратить на каждой мыши по изображению везде, где списке следует нажать (я строка или изображение)Кнопка воспроизведения/остановки в строке в спискеView
enter code here azkar = (ListView) findViewById(R.id.add_playlist_listView);
adapter = new SoundsAdapter(this, playlists,azkar);
adapter.setCustomButtonListner(SoundsActivity.this);
azkar.setAdapter(adapter);
int lastPosition =-1;
azkar.setOnItemClickListener(new AdapterView.OnItemClickListener() {
int pos;
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
adapter.getView(position, view, parent);
try {
if (lastPosition != -1) {
View lastRow = azkar.getChildAt(lastPosition);
ImageView play = (ImageView) lastRow.findViewById(R.id.is_added);
play.setImageResource(R.drawable.play_background);
View currentRow = azkar.getChildAt(position);
ImageView stop = (ImageView) currentRow.findViewById(R.id.is_added);
stop.setImageResource(R.drawable.stop_background);
}
lastPosition = position;
} catch (Exception e) {
}
final HashMap<String, String> committee = playlists.get(position);
String fileName = committee.get(CategoriesActivity.KEY_PATH);
run(committee.get(CategoriesActivity.KEY_PATH), view, position);
}
});
enter code here
@Override
public void onButtonClickListner(int position,View view,ViewGroup parent) {
Toast.makeText(getApplicationContext(), "aaaaaaa", Toast.LENGTH_LONG).show();
final int pos = position;
adapter.getView(position, view, parent);
try {
if (last != -1) {
View currentRow = azkar.getChildAt(position);
ImageView stop = (ImageView) currentRow.findViewById(R.id.is_added);
stop.setImageResource(R.drawable.stop_background);
View lastRow = azkar.getChildAt(last);
ImageView play = (ImageView) lastRow.findViewById(R.id.is_added);
play.setImageResource(R.drawable.play_background);
} else {
View currentRow = azkar.getChildAt(position);
ImageView stop = (ImageView) currentRow.findViewById(R.id.is_added);
stop.setImageResource(R.drawable.stop_background);
}
last = position;
}catch (Exception e){}
final HashMap<String, String> committee = playlists.get(position);
String fileName = committee.get(CategoriesActivity.KEY_PATH);
run(fileName, view, position);
}
enter code here //code in adapter
thumb_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (customListner != null) {
customListner.onButtonClickListner(position, convertView, parent);
}
}
});
return vi;
}
public interface customButtonListener {
public void onButtonClickListner(int position,View view,ViewGroup parent);
}
public void setCustomButtonListner(customButtonListener listener) {
this.customListner = listener;
}
Вы можете публиковать код, который используется для этого поведения? –
перед тем, как нажать каждую строку, сообщите об этом адаптеру, что набор данных изменился следующим образом: notifyDataSetChanged(): – santoXme
Можете ли вы показать свой код –