1

AutoCompleteTextViewをレイアウトに配置していますが、表示されているものを何も書き込むことができません。この問題の解決策が見つかりません。

これが私のレイアウトです:

<AutoCompleteTextView
        android:id="@+id/txtOccupation"
        android:layout_width="510dp"
        android:layout_height="40dp"
        android:layout_below="@+id/datePicker"
        android:layout_toRightOf="@id/lblOccupation"
        android:background="#FFFFFF"
        android:paddingTop="10dp"
        android:paddingBottom="10dp" />

OnCreate()で記述したオートコンプリートを処理するコードは次のとおりです。

//---AutoComplete ---
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, Occupations);
                AutoCompleteTextView textView = (AutoCompleteTextView)
                findViewById(R.id.txtOccupation);
                textView.setThreshold(3);
                textView.setAdapter(adapter);

そして、アクティビティクラスに配列があります。

String[] Occupations = {"Software Engineer","Denist","Insustrial Engineer","University Professor","Secretary"};
4

1 に答える 1

1

Xmlにこれを入れてください。そのcompletionThreshold=1は、1文字を入力した後、リストが表示される代わりに、そのように2文字にすることを意味します。

<AutoCompleteTextView
     android:id="@+id/autoCompleteTextView_search_location"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal"
     android:completionThreshold="1"
     android:imeOptions="actionDone"
     android:inputType="text"
     android:paddingLeft="10dp"
     android:singleLine="true"
     android:maxLength="20"
     android:textSize="22px" >
</AutoCompleteTextView>

アクティビティでは、TextWatcherを実装する必要があります。次に、そのための実装されていないメソッドを追加します。次に、このようにアダプタを設定します。

autoCompleteTextView_search_location.addTextChangedListener(this);
autoCompleteTextView_search_location.setAdapter(new ArrayAdapter<String>(this,
    android.R.layout.simple_dropdown_item_1line,occupations));

問題が解決したかどうかをお知らせください。

于 2012-12-13T06:46:24.543 に答える