2016-04-01 9 views
-1

Ich benutze Android-Datenbindung zum Binden von Schaltflächen klicken Ereignisse, aber ich kann es nicht tun. Ich brauche Hilfe. das ist meine Xml: Wie Androiden Datenbindung Bindungsereignisse zu verwenden

<data> 

    <import type="com.test.databindingdemo.MyHandler" /> 

    <variable 
     name="handlers" 
     type="MyHandler" /> 
</data> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <Button 
     android:id="@+id/bt" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:onClick="@{handlers.handleClick}" /> 

</LinearLayout> 

dies ist mein Code:

public class MyHandler { 
    public void handleClick(View view) { 
     Toast.makeText(view.getContext(), "you clicked the view", Toast.LENGTH_LONG).show(); 
    } 
} 

diese meine Aktivität:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     MainlayoutBinding mainlayoutBinding=DataBindingUtil.setContentView(this, R.layout.mainlayout); 
     mainlayoutBinding.setHandlers(new MyHandler()); 
    } 
+1

Was hast du probiert? Was genau läuft schief? Haben Sie Fehler? Was sind diese Fehler? Was haben Sie versucht, um diese Fehler zu beheben? Was ist passiert, als du das getan hast? Denken Sie daran, diese Dinge zu berücksichtigen, wenn Sie Ihre Frage stellen. Befolgen Sie diese Anleitung, um sicherzustellen, dass Ihre Fragen von hoher Qualität sind: https://stackoverflow.com/help/how-to-ask –

Antwort

0

Es ist nichts falsch in dem Code du hast geposted. Um sicher zu sein, habe ich einen Sample Project mit Ihrem Code erstellt und es funktioniert gut. Es zeigt die Toast-Nachricht, wenn Sie auf die Schaltfläche klicken.

+0

Ich habe auch gerade versucht, kein Fehler, ich weiß nicht, warum ich es nicht ausführen kann gestern! Wie auch immer, vielen Dank !!! – jevely

Verwandte Themen