如何使图像可点击?我尝试了一些方法,但没有成功。 这是我尝试过的最后一个代码(它可以点击但是会出错):
ImageView btnNew = (ImageView) findViewById(R.id.newbutton);
btnNew.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do stuff
}
});
这是xml中的部分:
<ImageView
android:src="@drawable/tbnewbutton"
android:text="@string/hello"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/newbutton"
android:clickable="true"
android:onClick="clickImage"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
运行此代码并单击图像时出现此错误:
01-24 19:14:09.534:ERROR / AndroidRuntime(1461):java.lang.IllegalStateException:在活动中找不到clickImage(View)方法
这是解决方案:
XML:
<ImageButton
android:src="@drawable/tbnewbutton"
android:text="@string/hello"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/newbutton"
android:clickable="true"
android:onClick="clickNew"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@null" />
代码:
public void clickNew(View v)
{
Toast.makeText(this, "Show some text on the screen.", Toast.LENGTH_LONG).show();
}
答案 0 :(得分:24)
正如其他人所说:将其设为ImageButton
并定义其onClick属性
<ImageButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="left"
android:onClick="scrollToTop"
android:src="@drawable/to_top_button"
/>
图像在此处以文件res / drawable / to_top_button.png编码。如果用户单击该按钮,则调用方法scrollToTop()
。需要在类中声明此方法,该类使用ImageButton
作为其内容布局来设置布局。
public void scrollToTop(View v) {
...
}
以这种方式定义OnClick处理程序可以节省大量的输入,并且还可以防止对匿名内部类的需要,这有利于内存占用。
答案 1 :(得分:3)
答案 2 :(得分:1)
你可以使用ImageButton类...... http://developer.android.com/reference/android/widget/ImageButton.html
答案 3 :(得分:1)
使用ImageButton;)
答案 4 :(得分:0)
当您在XML中单击图像时,您已将onclick方法设置为调用“clickImage”,但您尚未在代码中创建clickImage方法。你根本不需要设置onclick监听器。只需从您的XML实现该方法,您就应该设置。