0

ユーザーが入力するautocompletetextview場所があり、ドロップダウンメニューが表示されます。この場合、特定のアイテム名が使用されているため、選択できないことをユーザーに示しています。ドロップダウンを表示したいのですが、クリック不可にしますか? これは可能ですか?

これは関係ないかもしれませんが、オンライン データベースからデータを取得します。私は基本的に単語"Used: " + myStringを添付し、それが入力されます。

編集:

ここにアダプターがあります:

            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(
                    getApplicationContext(), R.layout.dialog_dropdown_list,
                    itemList);

          etInsertAutoComplete.setAdapter(dataAdapter);
4

1 に答える 1

0

私はこの答えには遅すぎることを知っています.しかし、これはあなたを助けるでしょう. そのためには、BaseAdapter を拡張してカスタム アダプターを実装する必要があります。autocompleteTextview は、メソッドを使用して adapter.getItem(position) を使用して値を取得しますperformCompletion

https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#performCompletion()

private void performCompletion(View selectedView, int position, long id) {
    if (isPopupShowing()) {
        Object selectedItem;
        if (position < 0) {
            selectedItem = mPopup.getSelectedItem();
        } else {
           selectedItem = mAdapter.getItem(position); // It will null if we return null in getItem() method of an adapter

        }
        if (selectedItem == null) {
            return;
        }
}

ドロップダウンは、次のコードでアイテムのクリックを受け取ります。

@Override
     public Object getItem(int position)
      {
        return itemList.get(position).getName();
      }

クリックできないようにするには、null を返すだけです。

@Override
public Object getItem(int position) {
    return null;
}

ドロップダウン リストは表示されますが、アイテムはクリックできません。

于 2016-03-26T12:35:29.360 に答える