Java 无法获取ImageButton onClick以激发
我有以下XML文件: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"
<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();
}
});
}
}