2012-04-12 2 views

Antwort

20

setonclicklistner für Haupt Layout Ihrer Layout-Datei ....

Wie .... main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/mainlayout"> 
<!- Your other view-> 
</Relativelayout> 

und setzen Hörer für mainlayout klicken ...

RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout); 
rlayout.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

    } 

}); 
+1

Wie lautet der vollständige Klassenname von OnClickListener? android.view.View.OnClickListener? – tgkprog

+1

android.view.View.OnTouchListener nützlich für generische x, y berühren hören – tgkprog

1

Geben Sie Ihrem Hauptlayout eine ID, dann

LinearLayout root = (LinearLayout) findViewById(R.id.main_layout); 
root.setOnClickListener(new OnClickListener() { 
    public void onClick() 
    { 

    } 
}); 
0

Vielleicht können Sie einen Zuhörer in die Layout-Instanz hinzufügen, das Layout mit

RelativeLayout l = (RelativeLayout)findViewById(R.id.mylayout); 
l.setOnClickListener(click); 
0

bekommen Sie können auch einen Rückruf aus dem onClick xml-Attribute des Root-Layouts direkt eingestellt:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:onClick"myMethod"> 
<!- Your other view-> 
</Relativelayout> 

Und in Ihre Aktivität:

public void myMethod(View pView) { 
    //XXX do something 
} 

weniger aufgeblähten Code auf diese Weise :)

1

Ich glaube, der einfachste Weg, onUserInteraction in Ihrem Activity

Nur beachten Sie, dass es Feuer nicht, wenn Benutzer/off konzentrieren sich auf außer Kraft zu setzen ist EditText s und Spinners (wahrscheinlich andere Widgets auch). Aber es wird jedes Mal ausgelöst, wenn der Benutzer den Bildschirm berührt oder einen Knopf drückt.

Aber das macht es unnötig, Listener in Ihre Layouts zu erstellen oder zusätzliche Methoden zu schreiben, um mit diesen Listenern umzugehen, also glaube ich, dass es der problemlose Weg ist, um zu bekommen, was Sie wollen.

Verwandte Themen