Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:类CatatanAdapter中的构造函数CatatanAdapter无法应用于给定类型_Java_Android_Android Recyclerview - Fatal编程技术网

Java 错误:类CatatanAdapter中的构造函数CatatanAdapter无法应用于给定类型

Java 错误:类CatatanAdapter中的构造函数CatatanAdapter无法应用于给定类型,java,android,android-recyclerview,Java,Android,Android Recyclerview,我是Android Studio编程新手。我的RecyclerView项目有问题。我已经检查了整个代码,但没有找到问题所在。这会给我一个错误“CatatanAdapter类中的构造函数CatatanAdapter不能应用于给定的类型;” My CatatanAdapter.java: public class CatatanAdapter extends RecyclerView.Adapter<CatatanAdapter.ViewHolder> { @Override publ

我是Android Studio编程新手。我的RecyclerView项目有问题。我已经检查了整个代码,但没有找到问题所在。这会给我一个错误“CatatanAdapter类中的构造函数CatatanAdapter不能应用于给定的类型;”

My CatatanAdapter.java:

public class CatatanAdapter extends RecyclerView.Adapter<CatatanAdapter.ViewHolder> {

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.list_item, parent, false);
    return new ViewHolder(v);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    ListItem listItem = listItems.get(position);
    holder.textViewJudulnya.setText(listItem.getJudulnya());
    holder.textViewCatatannya.setText(listItem.getCatatannya());

}

@Override
public int getItemCount() {
    return listItems.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {
    public TextView textViewJudulnya;
    public TextView textViewCatatannya;

    public ViewHolder(View itemView) {
        super(itemView);
        textViewJudulnya = itemView.findViewById(R.id.judulnya);
        textViewCatatannya = itemView.findViewById(R.id.catatannya);

        }
    }
}
错误:

error: constructor CatatanAdapter in class CatatanAdapter cannot be 
applied to given types;
required: no arguments
found: List<ListItem>,Catatan
reason: actual and formal argument lists differ in length
错误:类CatatanAdapter中的构造函数CatatanAdapter不能为
适用于给定类型;
必需:无参数
发现:列表,卡塔坦
原因:实际参数列表和正式参数列表长度不同

您必须添加一个构造函数方法- 或者尝试错误地访问
列表项
构造函数。在没有看到导入语句的情况下,您可能混淆了
ListView
RecyclerView

public CatatanAdapter(ArrayList<ListItem> items, Context context) {
    this.setContext(context);
    this.setItems(items);
}
publiccatanadapter(arraylistitems,Context){
this.setContext(context);
这是一个集合项目(items);
}

请参阅…

您正在调用的
adapter=new catatanapter(列表项,此项)CatatanAdapter
类中没有这样的构造函数。将以下代码添加到
CatatanAdapter
类中

ArrayList<ListItem > listItems = new ArrayList<>();
Context context;

public CatatanAdapter(ArrayList<ListItem > listItems, Context context) {
 this.listItems = listItems;
 this.context = context;
}
ArrayList listItems=new ArrayList();
语境;
公共CatataAdapter(ArrayList listItems,上下文){
this.listItems=listItems;
this.context=上下文;
}

您能解释更多吗?基本上,构造函数用于将所需的参数传递给下一个类。
public CatatanAdapter(ArrayList<ListItem> items, Context context) {
    this.setContext(context);
    this.setItems(items);
}
ArrayList<ListItem > listItems = new ArrayList<>();
Context context;

public CatatanAdapter(ArrayList<ListItem > listItems, Context context) {
 this.listItems = listItems;
 this.context = context;
}