在android的RecyclerView中获取空指针异常?
我已经用一些文本和图像实现了在android的RecyclerView中获取空指针异常?,android,Android,我已经用一些文本和图像实现了RecyclerView,但在这方面我得到了空指针异常的错误。以下是RecyclerView活动的代码及其适配器 RecyclerView活动代码: RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; RecyclerView.Adapter adapter; View rootview; @Override public void onCreate(@Nullable Bundl
RecyclerView
,但在这方面我得到了空指针异常的错误。以下是RecyclerView
活动的代码及其适配器
RecyclerView
活动代码:
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
RecyclerView.Adapter adapter;
View rootview;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootview = inflater.inflate(R.layout.first_class_9, container, false);
recyclerView = (RecyclerView) rootview.findViewById(R.id.card_relative_1_9);
layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
adapter = new RecyclerAdapter();
recyclerView.setAdapter(adapter);
return rootview;
}
RecyclerView
适配器代码:
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
private String[] SubTxt = {"NCERT Solution",
"Notes",
"Sample Papers"};
private int[] SubImage = {R.drawable.ic_answers_black_48dp,
R.drawable.ic_notes_black_48dp,
R.drawable.ic_sample_papers_black_48dp};
class ViewHolder extends RecyclerView.ViewHolder {
public int currentItem;
public ImageView itemImage;
public TextView itemTitle;
public ViewHolder(View itemView) {
super(itemView);
itemImage = (ImageView) itemView.findViewById(R.id.SubImage);
itemTitle = (TextView) itemView.findViewById(R.id.SubTxt);
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();
}
});
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.recycler_1_9, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.itemTitle.setText(SubTxt[i]);
viewHolder.itemImage.setImageResource(SubImage[i]);
}
@Override
public int getItemCount() {
return SubTxt.length;
}
}
公共类RecyclerAdapter扩展了RecyclerView.Adapter{
私有字符串[]subtext={“NCERT解决方案”,
“附注”,
“样本文件”};
private int[]SubImage={R.drawable.ic\u answers\u black\u 48dp,
R.drawable.ic\U notes\U black\U 48dp,
R.drawable.ic_样本_纸张_黑色_48dp};
类ViewHolder扩展了RecyclerView.ViewHolder{
公共项目;
公共图像查看项目图像;
公共文本视图项目标题;
公共视图持有者(视图项视图){
超级(项目视图);
itemImage=(ImageView)itemView.findViewById(R.id.SubImage);
itemTitle=(TextView)itemView.findViewById(R.id.subText);
itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int position=getAdapterPosition();
Snackbar.make(v,“在项目上检测到点击”+位置,
蛇形条长度(长)
.setAction(“Action”,null).show();
}
});
}
}
@凌驾
公共视图持有者onCreateViewHolder(视图组视图组,int i){
视图v=LayoutInflater.from(viewGroup.getContext())
.充气(R.layout.recycler_1_9,视图组,错误);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(ViewHolder ViewHolder,int i){
viewHolder.itemTitle.setText(subtext[i]);
viewHolder.itemImage.setImageResource(子映像[i]);
}
@凌驾
public int getItemCount(){
返回subtext.length;
}
}
recyclerView.setHasFixedSize(真);这一行不见了。添加此行您可以发布错误日志吗?可能重复recyclerView.setHasFixedSize(true);这一行不见了。添加此行您可以发布您的错误日志吗?可能重复