android 与片段一起使用的回收视图

android recycleview using with fragment

目前,我正在做一个有导航抽屉的项目,我正在使用片段来处理这些东西。我正要为它使用一个回收视图,但我遇到了代码问题,特别是当我尝试添加 LayoutInflater 并将其粘贴到我应该使用 layoutinflater.from(fragment.getBaseContext); 的片段中时不工作

这是适用于通常 Activity 的代码,但它似乎不适用于 .fragment activity

有人可以帮我解决这个问题吗?甚至为我指出正确的方向?

package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;

public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {

    Bad_house_list bad_house_list;
    ArrayList<User> userArrayList;

    public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
        this.bad_house_list = bad_house_list;
        this.userArrayList = userArrayList;
    }

    @NonNull
    @Override
    public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        LayoutInflater layoutInflater = LayoutInflater.from(Bad_house_list.getBaseContext());
        layoutInflater.inflate(R.layout.single_row, parent,false);


        return null;
    }

    @Override
    public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {

    }

    @Override
    public int getItemCount() {
        return 0;
    }
}

试试这个!

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_answer, parent, false);
view.setOnClickListener(this);
view.setOnLongClickListener(this);
MyCustomHolderClass myCustomHolder = new MyCustomHolderClass(view);
return myCustomView;

尝试用这个替换您的适配器

package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {

Bad_house_list bad_house_list;
ArrayList<User> userArrayList;

public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
    this.bad_house_list = bad_house_list;
    this.userArrayList = userArrayList;
}

@NonNull
@Override
public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

 View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_row, parent, false);
 return new MyRecycleViewHolder(itemView);
}

@Override
public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {

}

@Override
public int getItemCount() {
    return userArrayList.size();
}
}