android:布局中多个ImageView的一键式侦听器
我有以下情况: 在布局中,我将ImageView水平和垂直对齐,如图所示 首先,应该使用哪种布局?相对的布局还是框架布局?布局中的ListViewandroid:布局中多个ImageView的一键式侦听器,android,android-layout,android-fragments,android-activity,android-imageview,Android,Android Layout,Android Fragments,Android Activity,Android Imageview,我有以下情况: 在布局中,我将ImageView水平和垂直对齐,如图所示 首先,应该使用哪种布局?相对的布局还是框架布局?布局中的ListView 另外,如何不为每个imageview编写setOnClickListener,而只编写一个click listener来获得单击的imageview?AGridView非常适合这样做。有关GridView的更多信息,请参见 至于你的onClickListener问题:没有简单的方法可以做到这一点,但你能做的是这样的: 使用包含每个ImageView
另外,如何不为每个imageview编写setOnClickListener,而只编写一个click listener来获得单击的imageview?A
GridView
非常适合这样做。有关GridView的更多信息,请参见
至于你的onClickListener问题:没有简单的方法可以做到这一点,但你能做的是这样的:
public static final int[] IMAGE_VIEWS = {R.id.imageView1, R.id.imageView2, R.id.imageView3 /*etc*/}; //Make sure to list from the first imageview to the last image view in correct order
private View.OnClickListener imageViewListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < IMAGE_VIEWS.length; i++) {
if (v.getId() == IMAGE_VIEWS[i]) {
doSomethingWithImageViewClick(i); //if ImageView 4 was clicked, variable 'i' will be 3 (because arrays start at index = 0).
}
}
}
}
GridView可以实现此效果。我想您可以看看这个。在布局中使用“GridView”,并使用“setOnItemClickListener”处理单击事件 您可以在下面的链接中找到更多详细信息
.使用
GridView
并使用setOnItemClickListener
来处理ClicksUp在我看来就像GridView一样well@SatyenUdeshi谢谢,我会标记你的答案正确,但也请在回答中提供此链接。这很有帮助,我还发布了一个回答,以便其他人可以参考,解决了我的问题
final ImageView view1 = (ImageView) view.findViewById(R.id.imageView1);
view1.setOnClickListener(imageViewListener);
//etc