Android 无法将片段转换为上下文?
我正在开发一个Android应用程序,其中包含Recyclerview+Cardview和GridLayout。在这个应用程序中,我得到了标题中的错误 java(片段类)Android 无法将片段转换为上下文?,android,android-recyclerview,android-cardview,realmrecyclerviewadapter,Android,Android Recyclerview,Android Cardview,Realmrecyclerviewadapter,我正在开发一个Android应用程序,其中包含Recyclerview+Cardview和GridLayout。在这个应用程序中,我得到了标题中的错误 java(片段类) 谁能帮我解决这个问题。您可以将getContext()作为一个参数发送,该参数可以从您的片段中访问。片段不扩展上下文。您可以使用getActivity()将片段的活动作为上下文传递 但是,您可以在onCreateViewHolder(ViewGroup parent,int-viewType.中调用parent.getCont
谁能帮我解决这个问题。您可以将
getContext()
作为一个参数发送,该参数可以从您的片段中访问。片段不扩展上下文。您可以使用getActivity()
将片段的活动作为上下文传递
但是,您可以在onCreateViewHolder(ViewGroup parent,int-viewType.
中调用parent.getContext()
,然后从适配器中删除上下文
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.cardview,parent,false);
return new MyViewHolder(view);
}
,现在它抛出此错误,尝试在空对象引用上调用虚拟方法“android.view.view android.view.view.findViewById(int)”您能帮我解决此问题吗
public class RecyclerviewAdapter extends RecyclerView.Adapter<RecyclerviewAdapter.MyViewHolder>{
private Context mContext;
private List<reminder> mData;
public RecyclerviewAdapter(Reminders mContext, List<reminder> mData) {
this.mContext = mContext;
this.mData = mData;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(R.layout.cardview,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.mTextView.setText(mData.get(position).getmTitle());
holder.mImageView.setImageResource(mData.get(position).getmImages());
}
@Override
public int getItemCount() {
return mData.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder{
TextView mTextView;
ImageView mImageView;
public MyViewHolder(View itemView) {
super(itemView);
mTextView =(TextView)itemView.findViewById(R.id.mReminder_Text_Id);
mImageView =(ImageView)itemView.findViewById(R.id.mReminder_Image_Id);
}
}
}
public RecyclerviewAdapter(Reminders mContext, List<reminder> mData) {
this.mContext = mContext;
this.mData = mData;
}
error: incompatible types: Reminders cannot be converted to Context
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.cardview,parent,false);
return new MyViewHolder(view);
}