我已将布局文件定义为:
<ImageView
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:clickable="true"
android:src="@drawable/next_button_image"/>
我的java文件onClickListener
as:
nextButton=(ImageView) findViewById(R.id.next_button);
nextButton.setOnClickListener(this);
@Override
public void onClick(View v) {
System.out.println(v.getId()+"==="+R.id.next_button);
switch (v.getId()) {
case R.id.next_button:
++pageCount;
setAnimalWithClick();
break;
case R.id.back_button:
--pageCount;
setAnimalWithClick();
break;
default:
break;
}
}
但它没有注册click事件。 我放置的sysout给了我这个输出:
01-01 21:07:13.384: I/System.out(10678): 2131230723===2131230721
为什么ID不同?我尝试过清洁和重建。它没有锻炼。
答案 0 :(得分:0)
我建议使用此模式,并且您不必拥有巨大的switch语句,并希望您的ID得到正确管理:
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Handle click
}
});