我正在尝试使用@poi = Poi.new(poi_params)
respond_to do |format|
if @poi.save
format.html { redirect_to @poi, notice: 'Poi was successfully created.' }
format.json { render :show, status: :created, location: @poi }
else
format.html { render :new }
format.json { render json: @poi.errors, status: :unprocessable_entity }
end
end
显示数据。我不太确定为什么它会继续以RecyclerView
崩溃。我的理论是,它试图在创建视图本身之前找到NullPointerException
。
但是,按照我的构造函数的方式,它不应该那样做。
现在已经呆了几个小时。任何帮助将不胜感激。
我的XML文件:
TextView
RecyclerView适配器:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
>
<TextView
android:id="@+id/recycler_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="name"
android:textColor="@color/icons" />
<TextView
android:id="@+id/recycler_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="18dp"
android:text="price"
android:textColor="@color/icons"
android:textStyle="bold"/>
<TextView
android:id="@+id/recycler_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="date"
android:layout_below="@+id/recycler_name"
android:textColor="@color/icons"
android:textStyle="italic"
android:paddingTop="3dp"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
您需要先在ItemViewHolder
中初始化视图,然后才能使用它们。现在,frag_name.findViewById(R.id.recycler_name)
将抛出NullPointerException
,导致您尝试对findViewById()
使用错误的视图。
使用此代码:
public ItemViewHolder(@NonNull View itemView) {
super(itemView);
frag_name = itemView.findViewById(R.id.recycler_name);
frag_price = itemView.findViewById(R.id.recycler_price);
frag_date = itemView.findViewById(R.id.recycler_date);
}