public void onClick(View v){
if(v == exam1){
......
click(???);
}else if (v == exam2){
......
click(???);
}
}
exam1~2는 TextView입니다.
위에 보면 click 메소드를 추가해줬습니다.
click 메소드에서는 exam1~2를 받아서 .setText 등의 작업을 하고 싶습니다.
즉, click(exam1){
exam1.setText("11111"):
}
이런식의 작업이죠.
이렇게 복잡하게 해야하는 이유는 다른 작업들 때문에 이렇게 해야합니다^^;;
click 메소드에서 어떻게하면 파라미터로 View를 받아서 setText를 할 수 있을까요?
click(View v)로는 안됩니다.
어떤 의도를 가지고 계신지는 모르겠지만...
View.OnClickListener 이름 = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id."exam1의 id":
...
click((TextView)v);
break;
case R.id."exam2의 id":
...
click((TextView)v);
break;
}
}
};
public void click(TextView tv) {
if (tv != null) {
tv.setText("11111");
}
}




View v 로는 안됩니다 <- 로그를 함께 올려주시면 빨리 파악될꺼같은데요
제가 보기엔 View 로 받았으면 Class Cast 를 해야할것으로 보이구요 ..
무엇보다 저렇게 꼭 써야 하는 이유가 있나요 ? 다른 방법이 편할꺼 같아서요
여담이지만 혹시 이부분에선 문제 없었나요? ==> if(v == exam1)