无法从外部包访问

时间:2019-05-16 12:46:19

标签: java android mvvm

我一直在尝试使用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;
    }
}

感谢您的时间

1 个答案:

答案 0 :(得分:0)

参加您的课程public

    public class DataBoundViewHolder<T extends ViewDataBinding> extends RecyclerView.ViewHolder {
    ..
}

因为我现在是package-private