在我的 Activity
布局中,我有一些 ImageButton
。它们都可以工作,但只有一个,我不明白为什么在我单击它时没有触发 onClick
。我真的没有任何想法......
编辑 有一些被遗忘的古老代码用空代码覆盖了我的 OnClickListener
...
这是我的 xml 布局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:background="#000000"
android:paddingLeft="10dp"
android:paddingTop="5dp" >
<ImageButton
android:id="@+id/gameselect_button_home"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_home_selector" />
<ImageButton
android:id="@+id/gameselect_button_opendir"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_home"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_opendir_selector" />
<ImageButton
android:id="@+id/gameselect_button_refresh"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_opendir"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_refresh_selector" />
<ImageButton
android:id="@+id/gameselect_button_refreshone"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_refresh"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_refreshone_selector" />
<ImageButton
android:id="@+id/gameselect_button_settings"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_refreshone"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_settings_selector" />
<ImageButton
android:id="@+id/gameselect_button_grid"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_settings"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_grid_selector" />
<ImageButton
android:id="@+id/gameselect_button_list"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_grid"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_list_selector" />
<ImageButton
android:id="@+id/gameselect_button_help"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_list"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_help_selector" />
<Spinner
android:id="@+id/gameselect_emu_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/gameselect_button_help" />
</RelativeLayout>
这是在 onResume()
helpBtn = (ImageButton) findViewById(R.id.gameselect_button_help);
helpBtn.setOnClickListener(this);
虽然这是我的简单 onClick
@Override
public void onClick(View v) {
if (v.getId() == R.id.gameselect_button_help) {
Log.i("Click", "OK");
showHelpDialog();
}
}
最佳答案
在您的 OnCreate() 方法中使用此示例代码。
更改您使用的 ID 按钮。
ImageButton helpBtn = (ImageButton) findViewById(R.id.gameselect_button_refresh);
helpBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("CLICK", "click");
}
});
希望对您有所帮助。
关于ImageButton "onClick"未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881059/