Skip to content Skip to sidebar Skip to footer

Android Listview Toggle Button

I have a Listview that will list the alarms which are in the database.I need to add a Toggle Button beside each list item to set the alarm on/off. How can I add the Toggle Button

Solution 1:

There is no small snippet ans. to your problem. I assume you need to have multi-selection. Now here are the things you need.

Since you are using SimpleCursorAdapter, you should replace that with CursorAdapter. To do so you have to extend it as it is a abstract adapter. Once you done that you will be overriding two functions.

  • newView Where you will create your list item views by inflating R.layout.alarm_row (it should contain your toggle button too). You have make toggle button non-clickable.
  • bindView where you will set state of toggle button and text for your text view

That said this what you need on the Activity side.

  • You have make your ListView to multi-selection mode by android:choiceMode in xml or using setChoiceMode.

Now bindView will look like:

ListViewlv= ((ListActivity)context).getListView();
// Containing all check statesSparseBooleanArraysba= lv.getCheckedItemPositions();


// I am using check box

cb.setChecked(false);

// Cursor is passed as an argument.if(sba != null)
  if(sba.get(cursor.getPosition()))
     cb.setChecked(true);

Ref to docs:

CursorAdapter docs

http://developer.android.com/reference/android/widget/ListView.html

Solution 2:

Try creating a custom adapter like:

publicclassYourAdapterextendsBaseAdapter

and a custom layout for the rows with a toggle button (you will have to inflate the layout in the method geView).

Here you can find an example: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

Hope this helps..

Post a Comment for "Android Listview Toggle Button"