2013-04-02 2 views
0

У меня есть ListView с элементами, которые имеют подсписку со своими элементами. Это выглядит следующим образом:Android: Как создать элементы списка с возможностью выбора?

enter image description here

Моя проблема заключается в следующем:

Все элементы должны быть доступны. Но это работает только до тех пор, пока для этого элемента не сохранено ни одного подсписка (см. Элемент «Abc» с зеленым цветом фона). Как я могу выбрать и другие элементы (с подсписком, в данном случае «Do Br» или «X Y»)? Примечание: пробел в имени элемента не имеет значения.

Код:

Основной список:

<ListView 
    android:id="@+id/listViewWithSubLists" 
    android:choiceMode="singleChoice" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
</ListView> 

запись в главном списке:

<TextView 
    android:id="@+id/listentry" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#004400" 
    android:textSize="18sp" /> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
    android:paddingLeft="20dip" 
    > 
    <ListView 
     android:id="@+id/sublistView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

ответ

1

ваш Requir Проблема может быть ление решена с помощью expandable lists

try this guide for expandable lists

Вы также можете попробовать использовать свой собственный адаптер, расширив класс с ArrayAdapter

Override the method 
public View getView(int position, View convertView, ViewGroup parent) 

добавлять события в ваших подсписках.

+0

Спасибо за этот намек. Я уже думал об использовании этого, но это имеет тот недостаток, что вы не видите верхние элементы подсписчика, не нажимая ничего. Это одна из моих главных целей. – Mayoares

+0

Попробуйте этот метод из ExpandableListView в методе onResume public boolean expandGroup (int groupPos); http://developer.android.com/reference/android/widget/ExpandableListView.html#expandGroup(int) – anurag