我试图弄乱RecyclerView,每当尝试运行它时,我的应用程序立即崩溃。它为我提供了NullPointerException,用于尝试从androidx.recyclerview.widget.RecyclerView.setAdapter访问方法。错误:
java.lang.NullPointerException: Attempt to invoke virtual method '' on a null object reference.
content_card_demo.xml:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="0dp"
android:layout_height="0dp"
app:cardBackgroundColor="@android:color/transparent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/recycler_view_item" />
GenelFragment:
public class GenelFragment extends Fragment {
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
RecyclerView.Adapter adapter;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_genel, container, false);
Toolbar toolbar = (Toolbar) root.findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
RecyclerView recyclerView = root.findViewById(R.id.recycler_view);
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
GenelRecyclerAdapter adapter = new GenelRecyclerAdapter();
recyclerView.setAdapter(adapter);
return root;
}
private void setSupportActionBar(Toolbar toolbar) {
}
private void setContentView(int fragment_genel) {
}}
GenelRecyclerAdapter:
public class GenelRecyclerAdapter extends
RecyclerView.Adapter<GenelRecyclerAdapter.ViewHolder> {
private String[] titles = {"Chapter One",
"Chapter Two",
"Chapter Three",
"Chapter Four",
"Chapter Five",
"Chapter Six",
"Chapter Seven",
"Chapter Eight"};
private String[] details = {"Item one details",
"Item two details", "Item three details",
"Item four details", "Item five details",
"Item six details", "Item seven details",
"Item eight details"};
private int[] images = { R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi,
R.drawable.ic_mi };
class ViewHolder extends RecyclerView.ViewHolder {
public ImageView itemImage;
public TextView itemTitle;
public TextView itemDetail;
public ViewHolder(View itemView) {
super(itemView);
itemImage =
(ImageView)itemView.findViewById(R.id.item_image);
itemTitle =
(TextView)itemView.findViewById(R.id.item_title);
itemDetail =
(TextView)itemView.findViewById(R.id.item_detail);
itemView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
int position = getAdapterPosition();
Snackbar.make(v, "Click detected on item " + position,
Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
}
@NonNull
@Override
public GenelRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.fragment_genel, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
} }
我有那些代码,每次尝试运行它时都发现,但是应用程序未运行,请帮助我确定导致这种问题的原因是什么。有什么建议吗?
使用content_card_demo.xml
而不是fragment_genel
在View root = inflater.inflate(R.layout.fragment_genel, container, false);