Java 图像按钮事件不工作
我已经创建了一个简单的应用程序,其中有一个图像按钮 我想在点击图像按钮后干杯 我的问题是,我可以看到图像按钮,但当点击图像按钮时,什么都没有发生。我找不到该代码的任何问题。 这是我的密码 这是我的xml文件 content_main.xmlJava 图像按钮事件不工作,java,android,Java,Android,我已经创建了一个简单的应用程序,其中有一个图像按钮 我想在点击图像按钮后干杯 我的问题是,我可以看到图像按钮,但当点击图像按钮时,什么都没有发生。我找不到该代码的任何问题。 这是我的密码 这是我的xml文件 content_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:src="@drawable/myimage"/>
</RelativeLayout>
我在OnClicklisteners中使用上下文的函数方面遇到了很多问题。请尝试为toast创建一个方法,然后从clicklistener调用它,如下所示: 私有void callToast(){ 在此处插入您的函数 } setOnClicklistener(新的OnClicklistener){ callToast() {它可以工作(我将您的代码粘贴到我的项目中),也许可以尝试清除您的项目。添加到xml:
<ImageButton
android:clickable="true" />
您应该先调试自己 你可以用这种方式 将其添加到Xml中
<ImageButton
android:clickable="true"
android:onClick="myClick"
/>
Clean Rebuild Run我在代码中也找不到任何错误。我建议您尝试编写
ContentMain。这是而不是getApplicationContext()
在Toast.makeText
行中查看它是否有任何区别。您没有收到任何错误,对吗?另外,我会尝试onClick
侦听器中的log
,查看它是否输入了该函数:log.I(“Yooo”,“我在这里”)
设置一些断点并调试代码。类内方法与匿名类相比,这并不重要。代码没有错误,一切都很好。如果你有足够的代表性,你可以将问题标记为无法重现,但这是一个非常低质量的答案。我已上载了包。请解决它,你可以如果要在Java代码中覆盖onClick,请从XML中删除它。我已经上传了工作文件。有人能解决我的问题吗。。
implements View.OnClickListener
@Override
public void onCreate(Bundle savedInstanceState) {
ImageButton imgButton =(ImageButton)findViewById(R.id.imageButton);
imgButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageButton:
Toast.makeText(getApplicationContext(),"You download is resumed",Toast.LENGTH_LONG).show();
break;
}
}
<ImageButton
android:clickable="true"
android:onClick="myClick"
/>
public void myClick(View v)
{
Toast.makeText(ContentMain.this,"You download is resumed",Toast.LENGTH_LONG).show();
}