android studio autocompletetextview нет предложений, показывающих - PullRequest
0 голосов
/ 16 января 2020

У меня действительно странная проблема в 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);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...