这是我的适配器的onCreateViewHolder:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
try
{
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View v = inflater.inflate(R.layout.faviorate_video_item, parent, false);
return new ViewHolder(v);
}
catch (Exception e)
{
return null ;
}
}
并且此行抛出NullPointException:
LayoutInflater.from(parent.getContext());
View v = inflater.inflate(R.layout.faviorate_video_item, parent, false);
我调试了函数但没有任何东西是空的,所以我不明白是什么原因造成的?
答案 0 :(得分:2)
当应用程序尝试使用时抛出NullPointerException 具有空值的对象引用。
<强> FYI 强>
Java try block用于包含可能抛出的代码 例外。因此,无需在此处创建 try-catch 块。
您可以尝试使用
View viewOBJ = LayoutInflater.from(parent.getContext()).inflate(R.layout.faviorate_video_item, parent, false);
ViewHolder viewHolderOBJ = new ViewHolder(viewOBJ);
return viewHolderOBJ;
答案 1 :(得分:2)
我也碰到了这个问题,我的问题是在我的项目布局中我放置了<View>
元素,但是没有大写字母V且编译器没有抱怨
<view
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
答案 2 :(得分:1)
请删除try块。如下所示
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View v = inflater.inflate(R.layout.faviorate_video_item, parent, false);
return new ViewHolder(v);
}
答案 3 :(得分:0)
根据你的错误行我想它可能是:
如果其中一个(最可能是第一个)导致问题,您可能会在膨胀时遇到无关错误。所以我建议先检查一下