2010-09-16 3 views
0

J'essaie d'obtenir un onClick simple à partir d'un ImageButton - cela semble être une tâche assez simple, mais il me manque évidemment quelque chose ici.Basic ImageButton onClick événement ne se déclenche pas - sûrement quelque chose de simple?

Voici mon fichier java:

package com.jlbeard.android.testapp; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageButton; 
import android.widget.Toast; 

public class testapp extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    //handle the button press 
    ImageButton mainButton = (ImageButton) findViewById(R.id.mainButton); 
    mainButton.setOnClickListener(new OnClickListener() { 

    @Override 
     public void onClick(View v) { 
     //show message 
     Toast.makeText(testapp.this, "Button Pressed", Toast.LENGTH_LONG); 

    } 
    }); 
} 
} 

Voici mon fichier de mise en page:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 

    <ImageView 
    android:id="@+id/whereToEat" 
    android:src="@drawable/where_to_eat" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="8px" 
    /> 

<ImageButton 
    android:id="@+id/mainButton" 
    android:src="@drawable/main_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:background="@null" 
    android:clickable="true" 
    android:onClick="mainButtonClick" 
    /> 

</RelativeLayout> 

Il me semble que je manque quelque chose de simple ... mais ne peut pas sembler comprendre. Merci!

Répondre

2

Vous n'avez pas exécuté la méthode show() sur l'objet Toast. erreur très commune :-)

+0

Oh ouais ... c'était tout! Je ne peux pas croire que j'ai oublié. Merci! – JLateralus

0

Vous pourriez aussi avoir un problème en raison de la mise en manifeste onclick android: onclick = « mainButtonClick »

Si mainButtonClick existe sur les dispositifs post 1.5, il peut être appelé à la place, remplaçant celui vous définissez le code

+0

Oups ... J'ai oublié que j'ai mis cela dans le fichier XML. J'essayais différentes méthodes parce que je ne pouvais pas obtenir le putain de clic pour travailler! – JLateralus

Questions connexes