¿Cómo puedo hacer que se haga clic en una imagen? Lo he intentado de varias maneras, pero sin éxito. Aquí es el último código he intentado (que es se puede hacer clic, pero se pone de error):imagen en la que se puede hacer clic - android
ImageView btnNew = (ImageView) findViewById(R.id.newbutton);
btnNew.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do stuff
}
});
y aquí está la parte de 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" />
Cuando se ejecuta este código, y haciendo clic en la imagen me sale este error:
01-24 19:14:09.534: ERROR/AndroidRuntime(1461): java.lang.IllegalStateException: Could not find a method clickImage(View) in the activity
Aquí tienes la solución:
El 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" />
El código:
public void clickNew(View v)
{
Toast.makeText(this, "Show some text on the screen.", Toast.LENGTH_LONG).show();
}
Ok, esta funciona, pero ahora mi imagen está dentro de un botón ... Así que está frenando mi diseño. Para solucionarlo, agregué la línea android: background = "@ null" en el xml y todo funciona perfectamente. – user484146
¿Te importaría marcar esa respuesta como útil? –
El fondo correcto para usar es 'android: background ="? Android: seleccionableItemBackground "'. – thirtythreeforty