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
Try creating a custom adapter like:
public class YourAdapter extends BaseAdapter
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..
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 viewThat said this what you need on the Activity side.
android:choiceMode
in xml or using setChoiceMode
.Now bindView
will look like:
ListView lv = ((ListActivity)context).getListView();
// Containing all check states
SparseBooleanArray sba = 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