2016-07-26 13 views
1

Für Schaltfläche klicken Zuhörer Code läuft gut, wenn Klick Zuhörer in der Tätigkeit definiert sind, aber vor Problem, wenn Klick Zuhörer in der XML-Definition keine Rechtschreibung MismatchKnopf klicken Zuhörer in xml

folgende Fehler auf logcat erscheint, wenn Zuhörer definiert in xml, warum?

java.lang.IllegalStateException: Es konnte kein Verfahren addButtonClicked (View) in einem Elternteil oder einem Vorfahren Kontext für Android finden: onClick auf Ansichtsklasse android.support.v7.widget.AppCompatButton mit id definiert Attribut 'AddButton'

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Add" 
     android:id="@+id/addButton" 
     android:layout_marginTop="50dp" 
     android:onClick="addButtonClicked" 
     android:layout_below="@+id/inputField" 
     android:layout_alignLeft="@+id/inputField" 
     android:layout_alignStart="@+id/inputField" /> 

Diese Aktivität Klasse

Wenn klicken Zuhörer in xml definiert ist

public void addButtonClicked() 
{ 

    String text = inputField.getText().toString(); 
    Products p = new Products(text); 
    dbObj.addProduct(p); 
    printDatabase(); 

} 

Wenn klicken Zuhörer von Aktivität definiert ist, Dies funktioniert gut

addButton.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 

      String text = inputField.getText().toString(); 
      Products p = new Products(text); 
      dbObj.addProduct(p); 
      printDatabase(); 

     } 
    }); 
+0

Veröffentlichen Sie Ihre Aktivitätsklasse mit Button-Klick-Code – Jas

+0

Sie nicht addButtonClicked Methode in Aktivitätsdatei – vinoth12594

+1

erklären, ich habe es, die Parameter anzeigen fehlte, dank Nir Duan und IntelliJ Amiya – shehzy

Antwort

4

Fügen Sie diese auf Sie Aktivität:

public void addButtonClicked(View view) { 
    //Your code here 
    } 
2

nicht Methode addButtonClicked (View) finden konnte

addButtonClicked() -Methode fehlt.

Erstellen Sie zuerst die Methode addButtonClicked().

public void addButtonClicked(View v) 
{ 
    // Add your Staff here 
} 

Clean-Rebuild-Run.