В моем файле XML у меня есть макет для моего фрагмента, который содержит HorizontalScrollView
так:метод HorizontalScrollView OnClick бросает ошибки
<HorizontalScrollView
android:id="@+id/srollview_seasons_gallery
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left">
</HorizontalScrollView>
В отдельном файле XML называется season_list_item
я сделал схему, как отдельный элемент должен выглядеть следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/season_image"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp"
android:onClick="seasonItemClicked"/>
</RelativeLayout>
добавить элементы динамически с моей Java кода, как это:
for (int i=0; i<seasonsSize; i++) {
View vi = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.season_list_item, null);
ImageView seasonImage = (ImageView) vi.findViewById(R.id.season_image);
//seasonImage.setId(i);
String imgUrl = response.body().getEmbedded().getSeasons().get(i).getImage().getMedium();
Picasso.with(getContext()).load(imgUrl).into(seasonImage);
seasonsLinearLayout.addView(vi);
}
seasonsScrollView.addView(seasonsLinearLayout);
И когда я исполню мой метод OnClick:
public void seasonItemClicked(View view) {
}
Я получаю ошибку
java.lang.IllegalStateException: Не удалось найти метод seasonItemClicked (View) в родительском или предком контексте для андроида: OnClick атрибут, определенный на вид класса android.support.v7.widget.AppCompatImageView с идентификатором «» season_image
раскомментировать эту строку //seasonImage.setId(i);
дает мне ошибку
android.content.res.Resources $ NotFoundException: Не удалось найти 0x0`
Изображения добавляются правильно макет, так же, как я хочу, чтобы ресурс ID #. Но я не могу добиться, чтобы сделать их кликабельными. Я также нахожу seasonImage.setId(i)
важным в моем случае, так как мне нужен номер изображения, на который было нажато для дальнейших действий.
Не могли бы вы помочь мне, как к этому нужно подойти?
работает отлично. Спасибо :) – dddeee