AutoCompleteTextView 在 ViewHolder 中不起作用

AutoCompleteTextView does not work in ViewHolder

我的 autoCategory_book 变量在 ViewHolder 中不起作用。

错误是:

Category_book = getResources().getStringArray(R.array.category_book);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, Category_book);
    public class ViewHolder extends RecyclerView.ViewHolder{
            AutoCompleteTextView autoCategory_book;
            String[] Category_book;
    
            public ViewHolder(@NonNull View itemView) {
                super(itemView);
    
                autoCategory_book = itemView.findViewById(R.id.autoCategory_book);
                Category_book = getResources().getStringArray(R.array.category_book);
                ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, Category_book);
                autoCategory_book.setAdapter(adapter);
            }
    }

你可以试试这个来修复它:

Category_book = itemView.getResources().getStringArray(R.array.category_book);
ArrayAdapter<String> adapter = new ArrayAdapter<>(itemView.getContext(),android.R.layout.simple_list_item_1, Category_book);

ArrayAdapter 构造函数需要上下文,而您传递了视图持有者的引用。要访问 android 资源,您还需要上下文。