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 回答