You don't have to create your own XML file if you're just want to display a one-liner dropdown menu. Instead better to use the already defined one in the android resources. Basically you can leave the auto_complete.xml, as it's not used anyways in your code (unless you want to design your own dropdown list views).
Basically there are two reasons: 1. You haven't set the color states correctly so the text color = background color or 2. You have selected a wrong id in the "to" parameters In your example, the latter seems to be the case. > int[] to = new int[]{android.R.layout.select_dialog_item}; > SimpleCursorAdapter cursAdapt = new SimpleCursorAdapter > (this,android.R.layout.simple_dropdown_item_1line,cursor,new String[] > {DbHelper.FOOD_NAME},to); you're using an layout id as "to". This is wrong. You have to use the ID of the textfield in which your data belongs. For example you have to data fields in your cursor, lets say new String[] { DbHelper.FOOD_NAME, DbHelper.FOOD_PRICE } Now if you have an layout file, with 2 TextView elements called foodname and foodprice, you'd have to make the "to" part as follows new int[] {R.id.foodname, R.id.foodid} in exactly this order. First element of from (DbHelper.FOOD_NAME) will be placed in the view with the first ID from "to" (in this case: R.id.foodname). Since you're using the predefined android layout for the dropdown list (android.R.layout.simple_dropdown_item_1line), the (only) textview item is called android.R.id.text1. So changing int[] to = new int[]{android.R.layout.select_dialog_item}; SimpleCursorAdapter cursAdapt = new SimpleCursorAdapter (this,android.R.layout.simple_dropdown_item_1line,cursor,new String[] {DbHelper.FOOD_NAME},to); to int[] to = new int[]{android.R.id.text1}; SimpleCursorAdapter cursAdapt = new SimpleCursorAdapter (this,android.R.layout.simple_dropdown_item_1line,cursor,new String[] {DbHelper.FOOD_NAME},to); should do the trick. You HAVE to use android.R.id.text1, because this is the id which was set in android sdks \res\layout \simple_dropdown_item_1line.xml file. This is btw the case for all default android layout files. They have no fixed names, instead it's always android.R.id.text1 to android.R.id.text3 or android.R.id.button1 to android.R.id.button3 in case of buttons (i.e. in default Dialog layouts) On Mar 2, 10:49 pm, class_java <class_j...@yahoo.gr> wrote: > Hi All, > > I have a AutoCompleteTextView and I wont in the drop down list that > appears while typing to contain data from a database through > SimpleCursorAdapter. The drop down list appears, but there is not text > in it. When I click in the drop down item seems to work fine, the Text > is correctly shown in the AutoCompleteTextView. Please help... > > Code samples: > *************************************************************************************************************** > Activity: > final AutoCompleteTextView editTxt = (AutoCompleteTextView) > findViewById(R.id.foodedittext); > > mDbHelper = new DbHelper(this); > > Cursor cursor = mDbHelper.fetchAll(); > startManagingCursor(cursor); > int[] to = new int[]{android.R.layout.select_dialog_item}; > SimpleCursorAdapter cursAdapt = new SimpleCursorAdapter > (this,android.R.layout.simple_dropdown_item_1line,cursor,new String[] > {DbHelper.FOOD_NAME},to); > cursAdapt.setCursorToStringConverter(new CursorConverter()); > editTxt.setAdapter(cursAdapt); > ********************************************************************** > auto_complete.xml: > > <?xml version="1.0" encoding="utf-8"?> > > <TextView xmlns:android="http://schemas.android.com/apk/res/android" > android:id="@+id/auto_complete" > android:layout_height="wrap_content" > android:layout_width="wrap_content" > /> > > ************************************************************************* > public class CursorConverter implements CursorToStringConverter{ > > @Override > public CharSequence convertToString(Cursor cursor) { > String a = cursor.getString(1); > return a; > } > > } > > **************************************************************************** > > Thanks in advance... > Evelina --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---