AutoCompleteTextView with custom list: how to set up onClick Listeners and getting the selected item
- by steff
Hi everyone,
I am working on an app which uses tags. Accessing those should be as simple as possible. Working with an AutoCompleteTextView seems appropriate to me. What I want:
existing tags should be displayed in a selectable list with a CheckBox on each item's side
existing tags should be displayed UPON FOCUS of AutoCompleteTextView (i.e. not after typing a letter)
What I've done so far is storing tags in a dedicated sqlite3 table. Tags are queried resulting in a Cursor. The Cursor is passed to a SimpleCursorAdapter which looks like this:
Cursor cursor = dbHelper.getAllTags();
startManagingCursor(cursor);
String[] columns = new String[] { TagsDB._TAG};
int[] to = new int[] { R.id.tv_tags};
SimpleCursorAdapter cursAdapt = new SimpleCursorAdapter(this, R.layout.tags_row, cursor, columns, to);
actv.setAdapter(cursAdapt);
As you can see I created *tags_row.xml* which looks like this:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:paddingLeft="4dip" android:paddingRight="4dip"
android:orientation="horizontal">
<TextView android:id="@+id/tv_tags" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1"
android:textColor="#000" android:onClick="actv_item_click" />
<CheckBox android:id="@+id/cb_tags" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:onClick="actv_item_checked" />
</LinearLayout>
It looks like this:
So the results are displayed just as I'd want them to. But the TextView's onClick listener does not respond. And I don't have a clue on how to access the data once an item is (de-)selected.
Behaviour of the list should be the following:
tapping a CheckBox item should insert/append the corresponding tag into the AutoCompleteTextView (tags will be semicolon-seperated)
tapping a TextView item should insert/apped the corresponding tag into the AutoCompleteTextView AND close the list.
So please help me out. Thanks in advance,
steff