안드로이드 개발 질문/답변
(글 수 45,052)
ImageView btn = new ImageView(this);
btn.setImageResource(R.drawable.main);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(view.getId() == R.drawable.main) {
Log.d("MyTag", "Activity");
}
}
});
위와 같이 작성하였고 에러나 워닝은 없습니다.. OnClick안에 if문없이 Log도 찍어보았고..
위와 같이 if문을 사용해보았지만.. 컴파일 후에 클릭하면.. log가 실행되지 않습니다.. 어떤 문제일까요?ㅠ..
btn.setImageResource(R.drawable.main);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(view.getId() == R.drawable.main) {
Log.d("MyTag", "Activity");
}
}
});
위와 같이 작성하였고 에러나 워닝은 없습니다.. OnClick안에 if문없이 Log도 찍어보았고..
위와 같이 if문을 사용해보았지만.. 컴파일 후에 클릭하면.. log가 실행되지 않습니다.. 어떤 문제일까요?ㅠ..
2010.12.11 19:10:40
setId를 사용해서 다음과 같이 수정해 보았는데 마찬가지로 동작하질 않습니다... 실례지만.. 조금 더 자세히 설명해주시면 안될까요?ㅎ
ImageView btn = new ImageView(this);
btn.setImageResource(R.drawable.main);
btn.setId(R.id.main);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(view.getId() == R.drawable.main) {
Log.d("MyTag", "Activity");
}
}
});
ImageView btn = new ImageView(this);
btn.setImageResource(R.drawable.main);
btn.setId(R.id.main);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(view.getId() == R.drawable.main) {
Log.d("MyTag", "Activity");
}
}
});
2010.12.11 20:10:12
R.drawable.main은 이미지뷰에 배경으로 사용한 이미지의 아이디입니다
그러므로 if (view.getd()==R.drawable.main)과 같이 사용할수 없습니다.
님의 경우에는 아래와 같이 수정을 하면 될겁니다.
도움이 되시기를 바랍니다
그러므로 if (view.getd()==R.drawable.main)과 같이 사용할수 없습니다.
님의 경우에는 아래와 같이 수정을 하면 될겁니다.
도움이 되시기를 바랍니다
ImageView btn = new ImageView(this);
final int NewID=1000;
btn.setImageResource(R.drawable.main);
btn.setId(NewID);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(view.getId() == NewID) { //이 비교문은 없어도 동작이 됩니다.
Log.d("MyTag", "Activity");
}
}
});




우의 비교문때문입니다.
ImageView를 새로 창조하였기때문에 btn에는 아무런 id도 할당되지 않은 상태입니다.
id를 할당하려면 setId명령을 써야 합니다.