使AutoCompleteTextView下拉不可点击

时间:2013-06-20 21:12:29

标签: android autocompletetextview

我有一个autocompletetextview用户输入的位置,下拉菜单会填充。在这种情况下,我向用户显示使用了特定的项目名称,因此无法选择。我想显示下拉菜单但是不能点击它?这可能吗?

这可能不相关,但它从在线数据库中检索数据。我基本上附加了"Used: " + myString这个词,这就是填充的内容。

编辑:

这是适配器:

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

          etInsertAutoComplete.setAdapter(dataAdapter);

1 个答案:

答案 0 :(得分:0)

我知道我对这个答案来说太迟了。但这会帮助你。 为此,您必须通过扩展BaseAdapter来实现自定义适配器。 autocompleteTextview使用方法performCompletion使用adapter.getItem(position)获取值:

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;
}

它会显示下拉列表,但项目将无法点击。