У меня действительно странная проблема в android студии при использовании AutocompleteTextView. У меня есть autocompletetextview, который работает нормально, поскольку он показывает предложения, которые я ожидаю показать, но когда я перемещаю представление (в макете XML) в другое место ниже некоторых других представлений, он больше не отображается какие-либо предложения. Адаптер массива, который я использую для заполнения Autocompletetextview, определенно заполнен (я могу видеть, просматривая журнал). Но никакие предложения не отображаются после перемещения представления. Когда я возвращаю его в исходное положение в макете xml, он снова работает. Кто-нибудь испытывал какие-либо случайные проблемы с AutocompleteTextViews?
Вот раздел, где он заполнен в xml: это atvCountries, который не работает ..
<!--8th horizontal layout - country region -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.50"
android:background="@drawable/customborder"
android:layout_marginBottom="10dp"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_weight="0.50">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/customborder"
android:orientation="vertical" >
<TextView
android:id="@+id/txtCountry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/country" />
<AutoCompleteTextView
android:id="@+id/atvCountries"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dropDownHeight="1000dp"
android:singleLine="true"
android:hint="@string/startTyping" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_weight="0.50">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/customborder"
android:orientation="vertical" >
<TextView
android:id="@+id/txtRegion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/region" />
<AutoCompleteTextView
android:id="@+id/atvRegion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dropDownHeight="1000dp"
android:singleLine="true"
android:hint="@string/startTyping" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
Вот раздел, где он заполнен адаптером массива: как уже упоминалось, адаптер массива имеет значения, которые он должен. Я знаю это по результатам анализа строки Log.d(TAG, "tttt: " + strName);
.
// country array
final ArrayList<String> arrForAdapterCty = new ArrayList<String>();
Cursor resultSetCty = sqLiteDatabase.rawQuery("Select * from lookup_countries",null);
try {
while (resultSetCty.moveToNext()) {
String strName = resultSetCty.getString(1);
Log.d(TAG, "tttt: " + strName);
arrForAdapterCty.add(strName);
}
} finally {
resultSet.close();
}
ArrayAdapter<String> adapterCty = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, arrForAdapterCty);
atvCountry.setAdapter(adapterCty);