2012-04-12 31 views

Trả lời

20

setonclicklistner cho bố cục chính của file layout của bạn ....

Giống như .... 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> 

và thiết lập kích listener cho mainlayout ...

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

    @Override 
    public void onClick(View v) { 

    } 

}); 
+1

Tên đầy đủ của OnClickListener là gì? android.view.View.OnClickListener? – tgkprog

+1

android.view.View.OnTouchListener hữu ích cho việc nghe x, y chung – tgkprog

1

Đặt bố cục chính của bạn là id, sau đó

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

    } 
}); 
0

lẽ bạn có thể thêm một người biết lắng nghe để thể hiện diện, nhận được bố trí với

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

Bạn cũng có thể trực tiếp thiết lập một cuộc gọi lại từ các thuộc tính onClick xml của bố cục gốc:

<?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> 

Và trong hoạt động của bạn:

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

đang Ít cồng kềnh cách này :)

1

Tôi tin rằng cách dễ nhất là để ghi đè onUserInteraction trong bạn Activity

Chỉ cần lưu ý rằng nó sẽ không bắn khi người dùng tập trung on/off EditText s và Spinners (có lẽ Widgets khác quá). Nhưng nó sẽ kích hoạt mỗi lần người dùng chạm vào màn hình hoặc nhấn một nút. Nhưng điều này làm cho nó không cần thiết để xây dựng người nghe vào bố trí của bạn hoặc viết các phương pháp bổ sung để xử lý những người nghe, vì vậy tôi tin rằng đó là cách khó khăn nhất để có được những gì bạn muốn. Điều này khiến bạn không phải lo lắng.

Các vấn đề liên quan