android - AutoCompleteTextView 不适用于自定义 ArrayAdapter

标签 android android-arrayadapter android-adapter autocompletetextview

我正在尝试实现一个 AutoCompleteTextView 来显示自定义对象。因此我实现了自己的 ArrayAdapter,但它不起作用,当我在文本字段中输入内容时没有显示任何建议。有人可以帮助我吗?

public class AutoCompleteArrayAdapter extends ArrayAdapter<Object>{

    List<Object> mObjectList;
    Context mContext;
    LayoutInflater mInflater;
    int mResourceId;

    public AutoCompleteArrayAdapter(Context context, int resource, List<Object> objectList) {
        super(context, resource, objectList);
        mResourceId = resource;
        mObjectList = objectList;
        mContext = context;
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        if(convertView == null) {
            convertView = mInflater.inflate(mResourceId, parent, false);
        }

        Object object = mObjectList.get(position);

        TextView textViewItem = (TextView) convertView.findViewById(R.id.textView_dropDown);
        textViewItem.setText(object.getString());

        return convertView;
    }

    @Override
    public int getCount() {
        return mObjectList.size();
    }

    @Override
    public WordInfo getItem(int position) {
        return mObjectList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }
}

这里我在主要 Activity 中设置了适配器:

    AutoCompleteArrayAdapter adapter = new AutoCompleteArrayAdapter(this, R.layout.simple_textview, mAllWords);
    mAutoEditTextSwedish.setAdapter(adapter);

最佳答案

在您的自定义 ArrayAdapter 类中,您需要覆盖 public Filter getFilter()

我在下面的问题上有一个有效的示例代码,请看一下:

How to create custom BaseAdapter for AutoCompleteTextView

希望这对您有所帮助!

关于android - AutoCompleteTextView 不适用于自定义 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33356245/

相关文章:

android - res/values/strings.xml 的 Eclipse Android 设计 View 不再工作

java - 如何在 ArrayAdapter 中使用带有 4 个不同单选按钮的 Radiogroup

Android Kotlin 对回收站 View 中点击事件的新 Intent

安卓适配器 : using Linkedlist vs Arraylist

android - 如何在Activity中的RecyclerView适配器声明中声明Click监听器

android - 有没有人有可以处理数百万请求的 Facebook PARSE 的 BaaS 替代品?

java - 如何在服务器页面中复制文件而不读取

android - fragment ViewPager NullPointer 问题

android - ViewHolder 模式问题。为 ArrayAdapter 内的所有按钮设置相同的 OnClickListener

android - 如果对象是不同的数据类型,如何在 ArrayAdapter 列表的开头添加对象?