선택 목록을 구현하려고합니다. 각 항목은 이미지 뷰입니다.
사용자가보기를 클릭하면 사용자 정의 대화 상자가 열리고 목록에 56 개의 ImageView가 표시됩니다.
사용자는 하나를 클릭하여 선택할 수 있습니다.
imageviews에는 다음과 같은 이미지가 있습니다. items_r1_c1 ... items_r56_c1.
각 이미지 뷰에 onClickListeners를 구현해야합니다. 내가 예상 동작을 받고 있지 않다 그러나onClick 리스너에서 배열의 여러 항목을 설정합니다.
private int i; // This is int the outer class.
...
private ImageView [] spec = new ImageView[56];
myView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//set up dialog
try {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.myCustomList);
dialog.setTitle("Select one of 56");
dialog.setCancelable(true);
dialog.show();
String s = null;
//This is where I automate the ImageView object creation
for (i=2; i<=56; i++) {
s = "items_r"+Integer.toString(i)+"_c1";
spec[i] = (ImageView) findViewById(getResources().getIdentifier(s,"drawable",getPackageName()));
spec[i].setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myItem.setItem(Integer.toString(i));
if(i == 0) myItem.setItem("invalid");
Log.e(tag, myItem.getItem());
dialog.dismiss();
}
});
}
} catch (Exception e) {
Log.e(tag, e.toString());
}
}
:
대신 내가 이런 짓을.
내가 뭘 잘못하고 있니? 56 onClick 리스너를 작성하는 대신이 작업을 수행하는 효율적인 방법은 무엇입니까?
감사합니다.
감사합니다. 변경합니다. – Brahadeesh