Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to add a checkbox in a listview?

i have a question, been stuck for a while, i dont know how can i add a checkbox in the list, for example if I have a list of items i want to be able to check them. my xml code is the following:

<LinearLayout android:id="@+id/topLayout"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_centerHorizontal="true"  android:layout_height="wrap_content">

</LinearLayout>

<LinearLayout
    android:id="@+id/middleLayout"
    android:orientation="horizontal"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">

    <LinearLayout android:id="@+id/leftMiddleLayout"
            android:orientation="vertical" android:layout_below="@+id/topLayout"
            android:layout_above="@+id/bottomLayout"
            android:layout_width="60px" android:layout_height="wrap_content"
            >

            <ListView android:id="@+id/checkboxList" android:layout_width="fill_parent"
                    android:layout_height="wrap_content" ></ListView>

            <CheckBox android:id="@+id/checkbox"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:checked="false"
            android:text="test">
            </CheckBox>

    </LinearLayout>

    <LinearLayout android:id="@+id/rightMiddleLayout"
            android:orientation="vertical" android:layout_below="@+id/topLayout"
            android:layout_above="@+id/bottomLayout"
            android:layout_width="280px" android:layout_height="wrap_content"
            >

            <ListView android:id="@+id/list" android:layout_width="fill_parent"
                    android:layout_height="wrap_content" ></ListView>

            <TextView android:id="@+id/text" android:layout_width="fill_parent"
                    android:layout_height="wrap_content"/>                   
    </LinearLayout>
</LinearLayout>

<LinearLayout android:id="@+id/bottomLayout" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:paddingBottom="5pt"
    >

    <EditText android:id="@+id/insertNewItem"
        android:layout_width="220px" android:layout_height="wrap_content" />

    <TextView android:layout_width="10px" android:layout_height="wrap_content" />

    <Button android:id="@+id/addItemButton" android:layout_width="wrap_content"
        android:layout_height="fill_parent" android:text="Add Item"/>
</LinearLayout>

if you have any ideas please let me know, its for my academic studies :((

Thank you!

like image 743
Bugzy bug Avatar asked Sep 14 '25 00:09

Bugzy bug


2 Answers

final ListView lView = (ListView) findViewById(R.id.ListView01);
lView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, items));
lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

Here item is an array.

like image 126
Kalu Khan Luhar Avatar answered Sep 15 '25 13:09

Kalu Khan Luhar


public class myAdapter extends SimpleCursorAdapter {
    public myAdapter(Context context, int layout, Cursor cursor, String[] from, int[] to) {
        super(context, layout, cursor, from, to);  
}

@Override   
public void bindView(View view, Context context, Cursor cursor) {
    cb=(CheckBox)view.findViewById(R.id.cb);
    cb.setText(dbgetStringValue);
    cbText=(TextView)view.findViewById(R.id.cbText);
            cbText.setText(dbgetStringValue);
    cb.setChecked(false);
    cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton cb, boolean isChecked) {            
            if(cb.isChecked()) {                    
                // action
            }
            else if(isChecked==false) {
                // action
            }
        }           
    });
}
} 

is that what you want?