@newdancer

Как реализовать обработку нажатий на imageview внутри item Listview?

Как реализовать обработку нажатий на imageview внутри item Listview?
Сделал свой адаптер. getView выглядит так:
@Override
	public View getView(int i, View v, ViewGroup viewGroup)
	{
		View rootView = v;
		if (rootView == null) {
			rootView = layoutInflater.inflate(R.layout.item_cat, viewGroup, false);
		}

		CatSounds s = getSounds(i);
		((TextView) rootView.findViewById(R.id.textNameCat)).setText(s.nameCat);
		imageCatPlay = (ImageView) rootView.findViewById(R.id.imageCatPlay);
		imageCatPlay.setTag(i);
		imageCatPlay.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view)
			{
				Log.d("myLogs", "нажата в позиции = " + view.getTag());
				((ImageView) view.getTag()).setImageResource(R.drawable.pause);
			}
		});
		return rootView;
	}

приложение завершается с ошибкой:
java.lang.ClassCastException: java.lang.Integer cannot be cast to android.widget.ImageView

в строке
((ImageView) view.getTag()).setImageResource(R.drawable.pause);
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Ну так вы в тег кладете int, а приводите его к ImageView. Вам надо по позиции доставать view, а от него уже ImageView. Например так. Ну или, что скорее всего, в onClick вас уже view есть - это не тот который менять надо?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы