2010-08-11 38 views
15

Hành vi mặc định của ExpandableListView là thu gọn nhóm khi tiêu đề của nó được nhấp. Có thể ngăn chặn điều này xảy ra không?Tắt thu gọn của ExpandableListView

Tôi đã thử:

  • Thiết OnTouchListener trong danh sách. Điều này cản trở việc cuộn.
  • Đặt OnGroupClickListener trong danh sách (trong onCreate()). Điều này hoạt động cho tất cả các nhấp chuột sau mục đầu tiên.

Có ai khác hoàn thành việc này không? Tại sao có thể OnGroupClickListener bỏ lỡ nhấp chuột đầu tiên?

Cảm ơn bạn đã đề xuất.

+0

Điều này làm việc cho tôi -> http: // stackov erflow.com/questions/3464599. – adstro

+0

Trong khi hữu ích, chủ đề đó không trả lời câu hỏi đã nêu của tôi. – Justin

Trả lời

2

Có vẻ như sự cố phải liên quan đến việc có cả phần tử có tiêu điểm trong tiêu đề nhóm và một tập hợp OnGroupClickListener. Việc xóa trình nghe đã giải quyết được sự cố của tôi.

+3

đã không giải quyết nó cho tôi (tôi thậm chí đã không đặt một trong những nơi đầu tiên). Tôi có các phần tử có thể nhấp * bên trong * tiêu đề, nhưng không thể nhấp vào tiêu đề. – Matthias

+0

OnGroupClickListener (null); –

14

lẽ It `s quá muộn, tôi sử dụng onGroupCollapseListener trong hoạt động và thực hiện onGroupCollapse Method (expandView là ExpandableListView)

@Override 
public void onGroupCollapse(int collapseIndex) { 
    expandView.expandGroup(collapseIndex); 
} 
+0

Điều đó hoạt động hoàn hảo, cảm ơn bạn. – Davor

+0

Tôi nghĩ rằng điều này không nên được thực hiện! Andrus cách là tốt hơn! – Phuong

28

Bạn có thể bỏ qua click vào mục nhóm như thế này:.

mMyExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { 
    @Override 
    public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { 
     // Doing nothing 
    return true; 
    } 
}); 
2

Bạn có thể sử dụng mã này trên mục mà bạn muốn vô hiệu hóa nhấp vào: {convertView.setClickable(false);}

+0

mã hoàn hảo nếu bạn muốn vô hiệu hóa nhấp vào điều kiện cụ thể –

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