我一直在尝试使用githubrowsersample重新实现向日葵应用程序示例,因此我一直在尝试进行一些复制和粘贴。但是,对于为什么会出现此错误,我完全感到困惑。此特定代码是完整的复制和粘贴。
我收到的错误是:
错误:DataBoundViewHolder(T)在DataBoundViewHolder中不公开;
不能从外部包访问,其中T是类型变量:T
扩展在类DataBoundViewHolder中声明的ViewDataBinding
而我的代码与this相同,只是这些导入是:
import android.annotation.SuppressLint;
import android.os.AsyncTask;
import android.view.ViewGroup;
import androidx.annotation.MainThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.RecyclerView;
我的DataBoundViewHolder代码也可以复制并粘贴:
import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.RecyclerView;
/**
* A generic ViewHolder that works with a ViewDataBinding
* @param <T> The type of the ViewDataBinding.
*/
public class DataBoundViewHolder<T extends ViewDataBinding> extends RecyclerView.ViewHolder {
public final T binding;
DataBoundViewHolder(T binding) {
super(binding.getRoot());
this.binding = binding;
}
}
谢谢你的时间
最佳答案
使您的班级public
public class DataBoundViewHolder<T extends ViewDataBinding> extends RecyclerView.ViewHolder {
..
}
因为现在我想是
package-private