【发布时间】:2019-04-02 04:25:48
【问题描述】:
目前我正在使用 SDK 19 使用 Android Studio 3 开发一个 android 项目。我的个人目标是生成几乎没有警告的代码以提高我的代码质量。
在为我的RecyclerView 设置RecyclerViewAdapter 并以ViewHolder 作为内部类时,我遇到了Android Studio 的这种奇怪行为,它标志着我的ViewHolder 的访问权限可以是私有的。但是,当我这样做时,我的 RecyclerView.Adapter 类的声明中已经出现错误。知道我做错了什么吗?
这是我ErrorCompactAdapter的骨架结构:
public class ErrorCompactAdapter extends RecyclerView.Adapter<ErrorCompactAdapter.ErrorCompactViewHolder> {
//fields and attributes
//cotr
//onCreateViewHolder
//onBindViewHolder
//getItemCount
protected class ErrorCompactViewHolder extends RecyclerView.ViewHolder {
//outlets
//cotr
}
}
警告明确指出,ErrorCompactViewHolder 的访问权限可以是私有的。如果我更改此设置,我会收到一条错误消息,指出 ErrorCompactAdapter.ErrorCompactViewHolder has a private access in ErrorCompactAdapter。这有点令人困惑,你能想象吗?任何想法,如果我在某个地方给自己挖了一个陷阱洞?谢谢转发。
【问题讨论】:
-
你确定它说它可以是private,而不是package-private?
-
@VladyslavMatviienko 这确实是我没有看到的一点。它说包私有
标签: android android-adapter access-modifiers android-viewholder