Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法将片段转换为上下文?_Android_Android Recyclerview_Android Cardview_Realmrecyclerviewadapter - Fatal编程技术网

Android 无法将片段转换为上下文?

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

我正在开发一个Android应用程序,其中包含Recyclerview+Cardview和GridLayout。在这个应用程序中,我得到了标题中的错误

java(片段类)


谁能帮我解决这个问题。

您可以将
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);
}