Android AutoCompleteTextView не отображается правильно?

#android #autocompletetextview

#Android #autocompletetextview

Вопрос:

Привет, у меня есть AutoCompleteTextView, который отлично работает на моем Nexus1. При развертывании кода на Samsung Apollo i5801 список отображается некорректно. Данные находятся в списке, так как я могу немного прокрутить (см. Фотографии ниже).

введите описание изображения здесьвведите описание изображения здесь

Вот мой CursorAdapter

 class VenueSuggestionLitsAdpater extends CursorAdapter implements
        Filterable {

    private HiTechDatabaseAdapter database;

    public VenueSuggestionLitsAdpater(Context context, Cursor c) {
        super(context, c);

        // database = HiTechDatabaseAdapter.getInstance(JobActivity.this);

        // TODO Auto-generated constructor stub
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        int name = cursor.getColumnIndex("name");
        int postcode = cursor.getColumnIndex("postcode");

        String str = cursor.getString(name)   " - "
                  cursor.getString(postcode);

        ((TextView) view).setText(str);

    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {

        final LayoutInflater inflater = LayoutInflater.from(context);

        final TextView view = (TextView) inflater.inflate(
                android.R.layout.simple_dropdown_item_1line, parent, false);

        int name = cursor.getColumnIndex("name");
        int postcode = cursor.getColumnIndex("postcode");

        String str = cursor.getString(name)   " - "
                  cursor.getString(postcode);

        view.setText(str);

        return view;

    }

    @Override
    public CharSequence convertToString(Cursor cursor) {
        int columnIndex = cursor.getColumnIndexOrThrow("name");
        String name = cursor.getString(columnIndex);
        // Log.d("Debug","Convert To String....");
        return name;

    }

    @Override
    public Cursor runQueryOnBackgroundThread(CharSequence constraint) {

        if (constraint == null) {
            Cursor suggestions = HiTechDatabaseAdapter.getInstance(
                    JobActivity.this).queryVenueName(
                    HiTechDatabaseAdapter.TABLE_VENUES,
                    new String[] { "_id", "name", "address", "postcode","venueID" },
                    "");

            return suggestions;
        }

        Cursor suggestions = HiTechDatabaseAdapter.getInstance(
                JobActivity.this).queryVenueName(
                HiTechDatabaseAdapter.TABLE_VENUES,
                new String[] { "_id", "name", "address", "postcode","venueID" },
                constraint.toString());

        return suggestions;

    }

}
  

И как я применяю свой адаптер к своему AutoCompleteTextView

 VenueSuggestionLitsAdpater suggestionsAdapter = new VenueSuggestionLitsAdpater(
            JobActivity.this, suggestions);
    venuNameSearch.setAdapter(suggestionsAdapter);
  

Наконец-то мой XML-макет

 <?xml version="1.0" encoding="utf-8"?>
  

 <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10px">


<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@ id/venuetextlabel"
    android:text="Venue:"

/>

<AutoCompleteTextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@ id/venuesearch"
    android:editable="true"/>       


<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@ id/textcampaign"
    android:text="Campaign:"
    />


<Spinner
    android:layout_width="fill_parent"
    android:layout_height="60px"
    android:id="@ id/campaign"
    android:drawSelectorOnTop="true"
    android:prompt="@string/campaign"
/>

<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@ id/textgender"
    android:text="Gender:"

/>
<Spinner
    android:layout_width="fill_parent"
    android:layout_height="60px"
    android:id="@ id/gender"
    android:drawSelectorOnTop="true"
    android:prompt="@string/gender"
/>


<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@ id/textreason"
    android:text="Reason:"/>

<Spinner
    android:layout_width="fill_parent"
    android:layout_height="60px"
    android:id="@ id/reason"
    android:drawSelectorOnTop="true"
    android:prompt="@string/reason"

/>


<EditText
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@ id/address_line_1"
    android:hint="Address Line 1"
    android:editable="false"

/>


<EditText
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@ id/address_postcode"
    android:hint="Postcode"
    android:editable="false"
/>

<Gallery
    android:id="@ id/gallery"
    android:layout_marginTop="10px"
    android:spacing="10px"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" />

<Button
    android:layout_width="200px"
    android:layout_height="60px"
    android:id="@ id/submit"
    android:text="Submit"
    android:textSize="20sp"
    android:textStyle="bold"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="10px"

/>


</LinearLayout>
  

Любая помощь была бы высоко оценена.

Приветствия

Комментарии:

1. столкнулся с той же проблемой … если у кого-нибудь есть идея..

2. Я не нашел реального решения, но устранил проблему, установив android: dropDownAnchor=»@ id / textcampaign» для представления над ним в xml и android: DropDownHeight =»400px». Это не идеально, но единственное, что могло бы сработать.