2012-05-01 1 views
0

Это мой список, который я хочу. Моя проблема заключается в том, когда я просматриваю список списка, тогда флажки (которые являются элементами этого списка) автоматически проверяются. ex - если я проверил сначала, а затем автоматически проверял 4.Как управлять просмотрами списков Флажки Автоматическая проверка?

Моя первая цель:

1. want to stretch my list to full i will wrap it into Scrollview how 
2. i can prevent it to automatically checked 

.

<ListView 
android:id="@+id/ListViewProducts" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_column="0" 
android:layout_span="2" 
android:clickable="true" 
android:isScrollContainer="true" 
android:saveEnabled="true" 
android:scrollbarAlwaysDrawVerticalTrack="true" 
android:scrollbarSize="10sp" 
android:scrollbars="vertical" > 
</ListView> 

ответ

2

Создать ваш собственный базовый адаптер.

Имейте в виду, что ВСЕ виды в вашем списке, которые вы видите, являются временными. Они будут переработаны, когда вы прокрутите прочь. Причина в том, что вы можете иметь> 9000 элементов в вашем списке. Таким образом, способ создания представлений должен зависеть от каких-либо (!) Данных.

Here является учебным пособием nince о том, как создать свой собственный список.

Сделать X-й флажок в зависимости от X-го булева списка. Немного запутанный первый раз, когда я знаю, но это лучший способ.

class MyAdapter extends BaseAdapter{ 

    List<boolean> myCheckBoxes; 

    boolean getItem(int arg0){ 

     return myCheckBoxes.get(arg0); 

    } 

    View getView(int arg0, View arg1, ViewGroup arg2){ 

     ... 
     ...//See article 
     myView.setChecked(getItem(arg0)); 

     ... 
     return myView; 

    } 

А в вашей деятельности

ListView myListView; 
... 
myListView.setAdapter(new MyAdapger(...)); 
+0

да, но моя проблема начинается здесь Теперь я хочу, чтобы получить статус флажков я использую ListView.getAdapter() GetView (интермедиат подфарники, NULL, NULL). , чтобы найти представление, но его не дает мне правильный вид и его состояние. – Trikaldarshi

+1

@Photon, они не дают вам правильный вид, потому что взгляды listview являются временными.для сохранения информации о элементе listview вам необходимо назначить слушателя и сохранить его данные в другом источнике данных (например, в массиве). – Joe

+0

Сделайте ваши представления «равными» некоторым данным. И получить информацию от этого. Например. isSelected (int position) {return myCheckboxes.get (position);} – UnknownJoe

1
  1. Вы не можете поместить ListView в Scrollview, две точки зрения скроллинг в том же направлении, не будет работать хорошо. Просто поместите listview в свой макет без прокрутки (frame-, list-, relativelayout).
  2. Используйте адаптер, который устанавливает представления каждой строки списка в соответствии с отображаемыми данными.
1
  1. ListView уже распространяется Scrollview и не нужно иметь еще один, чтобы окружить его.

  2. попробуйте взглянуть на это post on creating custom listView items. Вы можете реализовать CheckBox в них и сделать это иметь android:checked="false"

1

Там нет необходимости осуществлять Scrollview в ListView becoz уже распространяется на Scrollview. Я думаю, что ваш список не способен правильно обрабатывать предметы. Поэтому, чтобы решить эту проблему, перейдите по ссылке ниже.

Getting an issue while checking the dynamically generated checkbox through list view

Смежные вопросы