Java 无法获取ImageButton onClick以激发

Java 无法获取ImageButton onClick以激发,java,android,onclick,imagebutton,Java,Android,Onclick,Imagebutton,我有以下XML文件: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"

我有以下XML文件:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.SPTechnos.ambassador.Home"
    tools:ignore="MergeRootFrame" >

    <LinearLayout
        android:id="@+id/LinearBG"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:id="@+id/ToolBar"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="#263359"
            android:gravity="top" >

            <ImageButton
                android:id="@+id/imageButton_Back"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:src="@android:drawable/ic_menu_revert"
                android:visibility="invisible" />

            <ImageButton
                android:id="@+id/imageButton_Preferences"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:src="@android:drawable/ic_menu_preferences" />

            <ImageButton
                android:id="@+id/imageButton_Map"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:src="@android:drawable/ic_menu_mapmode" />
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/Content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="fill"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/editText_1"
                android:layout_width="match_parent"
                android:layout_height="189dp"
                android:ems="10"
                android:inputType="textMultiLine" >

                <requestFocus />
            </EditText>
        </LinearLayout>

        <ImageButton
            android:id="@+id/imageButton_Speak"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@android:drawable/ic_btn_speak_now" />

        <EditText
            android:id="@+id/editText_2"
            android:layout_width="match_parent"
            android:layout_height="140dp"
            android:layout_weight="0.79"
            android:ems="10"
            android:inputType="textMultiLine" />

    </LinearLayout>

</FrameLayout>

但是,当我点击按钮时,logcat没有打印任何内容,我尝试了用烤面包机进行测试,这两个测试证明onclick没有点火,我在过去的一个小时里一直在搜索,但找不到原因。一定是我忽略了一些愚蠢的事情…

尝试在您的图像视图上设置clickable,您希望在XML中单击

android:clickable="true"
或者试试代码

speak.setClickable(boolean)

我试过这个代码,效果很好。如果设备已连接,请检查您的logCat

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageButton speak = (ImageButton) findViewById(R.id.imageButton_Speak);

        speak.setOnClickListener(new OnClickListener(){

                    public void onClick(View v) {
                        Toast.makeText(MainActivity.this, "teste", Toast.LENGTH_SHORT).show();
                    }
                });     

    }

}

您不会说在代码中的什么地方设置了这个onClick侦听器。有没有可能根本没有人打电话?如果您在调用speak.setOnClickListener之前放置了一条日志消息,那么该日志消息是否会显示?这起作用了,我看到了toast,但由于某些原因,它没有打印到logcat…我使用genymotion emulator,并且由于某些原因,当我检查logcat时,我的日志也没有显示。我的设备已断开连接。
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageButton speak = (ImageButton) findViewById(R.id.imageButton_Speak);

        speak.setOnClickListener(new OnClickListener(){

                    public void onClick(View v) {
                        Toast.makeText(MainActivity.this, "teste", Toast.LENGTH_SHORT).show();
                    }
                });     

    }

}