ImageButton "onClick"未调用

标签 imagebutton android android-button

在我的 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/

相关文章:

java.lang.IllegalArgumentException 十进制格式

java - 将 EditText 文本绑定(bind)到变量?

android - 如何在共享首选项中保存生成的 ImageButton

android - 带有 ImageButton 和 TextField 的 RelativeLayout 上的 setOnClickListener

java - 在Java中动态创建从ArrayList到RelativeLayout的ImageButton

android - setText 不执行任何操作

android - 基于 Air Android Flash Professional CS6 的应用程序中的退出按钮

android - 试图将几个 TextView 放在一个按钮中

android - 未收到 Greenrobot EventBus 事件

android - 从按钮数组修改按钮