ListView со сложными элементами, как узнать состояние элементов? - PullRequest
0 голосов
/ 02 марта 2011

У меня есть LinearLayout:

<LinearLayout
  xmlns:android= "http://schemas.android.com/apk/res/android"
  android:layout_width= "fill_parent"
  android:layout_height= "fill_parent">
<TextView android:id="@+id/DictLink" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView>
<CheckBox android:text="" android:id= "@+id/DictTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" ></CheckBox>
</LinearLayout>

Используется как элемент в ListView. Приведенный ниже код создает адаптер массива для ListView.

ArrayList< HashMap< String, String >> adapter_list = new ArrayList< HashMap< String, String > >();

    for ( String dict : dict_list )
    {
      String [ ] data = dict.split( ";" );
      HashMap< String, String > adapter_entry = new HashMap< String, String >();
      adapter_entry.put( FIELD_TITLE, data[ 0 ] );
      adapter_entry.put( FIELD_LINK, data[ 2 ] );
      adapter_list.add( adapter_entry );
    }

    String [ ] from =
    { FIELD_TITLE, FIELD_LINK };
    int [ ] to =
    { R.id.DictTitle, R.id.DictLink};

    final ListAdapter adapter = new SimpleAdapter( this, adapter_list, R.layout.dict_list_item , from, to );

Как узнать, какие флажки отмечены, а какие нет?

1 Ответ

0 голосов
/ 02 марта 2011

Класс ListView имеет функции, которые помогут вам:

int ListView.getCheckedItemPosition() (для списков с одним выбором) SparseBooleanArray ListView.getCheckedItemPositions() (для списков с множественным выбором)

И еще: http://developer.android.com/reference/android/widget/AbsListView.html#getCheckedItemIds()

...