許多imageviews點擊收聽我有以下情形:的Android:佈局
在佈局中,如圖像我已經imageviews水平和垂直對齊。
首先,哪種佈局應該用於此目的? RelativeLayout或FrameLayout? ListView裏面的佈局?
此外,我不怎麼寫每個圖像視圖的setOnClickListener,我怎麼能只寫一個點擊偵聽器來獲取點擊的圖像視圖?
許多imageviews點擊收聽我有以下情形:的Android:佈局
在佈局中,如圖像我已經imageviews水平和垂直對齊。
首先,哪種佈局應該用於此目的? RelativeLayout或FrameLayout? ListView裏面的佈局?
此外,我不怎麼寫每個圖像視圖的setOnClickListener,我怎麼能只寫一個點擊偵聽器來獲取點擊的圖像視圖?
使用在佈局「的GridView」和使用「setOnItemClickListener」來處理click事件,
您可以在下面的鏈接 GridView瞭解詳情。
A GridView
是完美的。有關GridView的更多信息,請參閱here。
至於你onClickListener的問題:有沒有簡單的方法來做到這一點,但你可以做的是這樣的:
有一個包含每個ImageView的ID,像這樣的數組:
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
定義一個onClickListener
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).
}
}
}
}
設置所有imageViews的onClickListeners:
final ImageView view1 = (ImageView) view.findViewById(R.id.imageView1);
view1.setOnClickListener(imageViewListener);
//etc
http://developer.android.com/intl/ko/guide/topics/ui/layout/gridview.html解決了我的問題 – user5155835
GridView的可以達到的效果。我想你可以看看這個Grid View。
使用'GridView'並使用'setOnItemClickListener'來處理點擊 –
yup看起來像grideview給我以及 – meda
@SatyenUdeshi謝謝,我會標記你的答案是正確的,但也請提供此鏈接http://developer.android .com/intl/ko/guide/topics/ui/layout/gridview.html在回答 – user5155835