在我的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>
在所謂season_list_item
單獨的XML文件我做了一個架構應該怎麼項目單是這樣的:
<?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:在爲Android父母或祖先上下文找不到方法seasonItemClicked(查看):的onClick在視圖類android.support.v7.widget.AppCompatImageView屬性定義id爲「season_image」
取消註釋此行//seasonImage.setId(i);
給我錯誤
android.content.res.Resources $ NotFoundException:無法找到資源ID#0x0`
照片添加到正確的佈局,就像我希望他們。但我無法讓他們點擊。我還發現seasonImage.setId(i)
對我來說很重要,因爲我需要點擊進行進一步操作的圖片的編號。
你能幫我解決這個問題嗎?
完美。謝謝 :) – dddeee