안녕하세요.


  옵션 메뉴를 누르면

final Dialog rl = new Dialog(this);

rl.requestWindowFeature(Window.FEATURE_NO_TITLE);

rl.setContentView(R.layout.pref);

rl.setCancelable(false);

rl.show();

  이런 식으로 다이알로그가 뜨도록 해놨습니다.


  R.layout.pref 에는 RelativeLayout 로 둘러쌓여있고, 안에는 이미지뷰가 많이 있습니다. 아주 많이..

  그래서, 일일히 이미지뷰에 OnClickListener 를 달아 주는 것 보다는 이미지의 xml 속성에 android:onClick="prefTouch" 를 주고, case if 문으로 어떤 이미지가 눌러졌는지 확인하려고 합니다.


  그런데 역시, 다이알로그 자체에는 

public void prefTouch(View v) {

}

  를 주는 방법을 모르겠네요. 어떻게 할 수 있는가요?




RelativeLayout rl2 = (RelativeLayout)rl.findViewById(R.id.layoutInside);

rl2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

System.out.println(v.getId());

switch (v.getId()) {

case R.id.imageView1 :

System.out.println("1번 눌러짐");

break;

}

}

});

  이렇게 하면, 레이아웃안 쪽에 있는 이미지 들의 id 들이 뜰 줄 알았는데, relative레이아웃의 id만 터치 되는 것 같더라구요.


  혼자 고민해보다가 이렇게 글을 올려봅니다.