2013-08-12 46 views
5

Tôi đang cố sử dụng SlidingPaneLayout. Khung nhìn bên trái là một ListFragment và khung nhìn bên phải là một khung nhìn chi tiết. Bố trí được hiển thị chính xác và tôi có thể trượt nó. Nhưng nếu xem chi tiết ở phía trước danh sách và tôi nhấp vào nó, danh sách trong nền sẽ nhận được nhấp chuột.Nhấp vào sự kiện trên SlidingPaneLayout

bố trí của tôi trông như thế này:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.SlidingPaneLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/sliding_pane_layout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <fragment android:name="net.name.multiremote.RemoteListFragement" 
       android:id="@+id/fragment_remote_list" 
       android:layout_width="580dp" 
       android:layout_height="match_parent" 
       android:layout_gravity="left" /> 

    <fragment 
     android:id="@+id/fragment_remote" 
     android:name="net.name.multiremote.RemoteFragment" 
     android:layout_width="850dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" /> 

</android.support.v4.widget.SlidingPaneLayout> 

tôi sử dụng mã này cho việc thiết lập người nghe nhấp chuột trong ListFragment

@Override 
public void onListItemClick(ListView list, View view, int position, long id) { 
    iItemClickListener.onListFragmentItemClick(view, position); 
} 

Làm thế nào tôi có thể giải quyết này?

Trả lời

8

Chỉ cần thêm android:clickable="true" đến thứ hai Fragment hoặc FrameLayout trong SlidingPaneLayout.

+0

Chỉ cần thêm thông tin thêm một chút, android: clickable = "true" cần được thêm vào bố cục của đoạn thứ hai, chứ không phải (như tôi nghĩ ban đầu) vào nút của đoạn thứ hai vào bố cục chính – fedepaol

0

Tôi gặp vấn đề tương tự, tôi cho rằng đó là sự kết hợp của phiên bản "v4" của Fragment và ListFragment và SlidingPanelLayout ... Nếu bạn thay đổi nhập từ "v4" để nhập "android.app.ListFragment" bình thường; " và "nhập android.app.Fragment;" làm tất cả mọi việc.

Xin lỗi vì tiếng anh của tôi;)

2

Locutus là chính xác. Dù đoạn trên đầu trang, thêm thuộc tính

android:clickable="true" 

vì vậy nó sẽ không vượt qua được sự kiện click vào đoạn dưới đây.

Cảm ơn mọi người đã tiết kiệm thời gian của tôi. Đây là mã của tôi. Tôi đã sử dụng một bố trí ghi đè nhưng điều này hoạt động trên bố trí cửa sổ trượt thường xuyên là tốt. xem đoạn thứ 2, tôi đã thêm thuộc tính thực sự có thể nhấp.

<com.ironone.streaming.application.MySlidingPaneLayout 
     android:id="@+id/pane" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <FrameLayout 
      android:id="@+id/pane1" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <FrameLayout 
      android:id="@+id/pane2" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:clickable="true" /> 
    </com.ironone.streaming.application.MySlidingPaneLayout> 
Các vấn đề liên quan