onClick-Attribut im XML-linking-Methode in der Activity-Klasse

Gibt es durchaus ein paar Fragen zu diesem Thema, aber konnte keine finden, die mit dem spezifischen problem habe ich auch...

In meinem layout.xml ich benutze die android:onClick tag für eine Taste zum aufrufen der rechten onClickListener. Ich bekomme die Fehlermeldung :

java.lang.IllegalStateException: Could not find a method handle_cancel(View) in the activity class com.matthieu.HelloWorldApplication for onClick handler on view class android.widget.Button with id 'button_cancel'

Habe ich dieses Methode implementiert die Aktivität, sondern er sucht es in der Klasse, die Sie erweitert Application... ich verstehe nicht warum. Die Ansicht und alle, die setup nur in der Tätigkeit.

Wenn jemand braucht, hier ist die Erklärung, dass die Methode (in meiner Tätigkeit NICHT in HelloWorldApplication):

public void handle_cancel(View v) {
    //do something useful here
}

Bearbeiten (von adamp Anfrage)... und wahrscheinlich Beantwortung meiner eigenen Frage :

Hier ist der Teil des Codes, wo das layout verwendet wird...

public class AddVocabularyActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.top); //that layout contains an empty LinearLayout id/main_content
    }

    private some_other_function() {
        LinearLayout main_content = (LinearLayout) findViewById(R.id.main_content);
        main_content.removeAllViews();
        View.inflate(getApplicationContext(), R.layout.hello, main_content); //layout.hello is the one containing the button
    }

    //some other stuff
}

Während copy/paste diese code, ich vermute, das problem ist, dass ich verwendet getApplicationContext zum aufblasen der Ansicht, dass Button...

  • Können Sie nach dem code, wo du das layout?
InformationsquelleAutor Matthieu | 2011-07-06
Schreibe einen Kommentar