Не может быть доступен снаружи пакета - PullRequest
0 голосов
/ 16 мая 2019

Я пытался перефразировать пример приложения подсолнечника, используя пример githubrowsers, поэтому я пытался немного скопировать и вставить. Тем не менее, я совершенно не понимаю, почему я получаю эту ошибку. Этот конкретный код является полной копией и вставкой.

Я получаю ошибку:

ошибка: DataBoundViewHolder (T) не является общедоступным в DataBoundViewHolder; недоступен из внешнего пакета, где T является переменной типа: T расширяет ViewDataBinding, объявленный в классе DataBoundViewHolder

, и мой код такой же, как , это , вместо этого используется следующий импорт:

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 голосов
/ 16 мая 2019

Сделай свой класс public

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

Потому что теперь это package-private Полагаю,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...