Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 RecyclerView没有显示任何内容_Android_Sqlite_Android Recyclerview - Fatal编程技术网

Android RecyclerView没有显示任何内容

Android RecyclerView没有显示任何内容,android,sqlite,android-recyclerview,Android,Sqlite,Android Recyclerview,在我的应用程序中,我从sqlite数据库获取数据,并使用RecyclerView显示它们。 这是我的适配器:- public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.Holder> { private List<SentData> dataList = Collections.emptyList(); private LayoutInflater inflate

在我的应用程序中,我从sqlite数据库获取数据,并使用RecyclerView显示它们。 这是我的适配器:-

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.Holder> {

private List<SentData> dataList = Collections.emptyList();
private LayoutInflater inflater;

public RecyclerViewAdapter(Context context, List<SentData> dataList) {
    Log.d("array size", dataList.size()+"");
    this.dataList = dataList;
    inflater = LayoutInflater.from(context);
}

@Override
public RecyclerViewAdapter.Holder onCreateViewHolder(ViewGroup viewGroup, int i) {

    View view =  LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.custom_list_row, viewGroup, false);
    return new Holder(view);
}

@Override
public void onBindViewHolder(RecyclerViewAdapter.Holder viewHolder, int position) {
    SentData current = dataList.get(position);

    Log.d("Required data is", current.circleName + current.retailName);
    viewHolder.circleName.setText(current.circleName);
    viewHolder.retailName.setText(current.retailName);
    viewHolder.retailAddress.setText(current.retailAddress);
    viewHolder.captureOn.setText(current.captureDate);
}

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


class Holder extends RecyclerView.ViewHolder {

    private TextView retailName, retailAddress, circleName, captureOn;

    public Holder(View itemView) {
        super(itemView);
        retailName = (TextView) itemView.findViewById(R.id.tvRetailerName);
        retailAddress = (TextView) itemView.findViewById(R.id.tvRetailAddress);
        circleName = (TextView) itemView.findViewById(R.id.tvCircleName);
        captureOn = (TextView) itemView.findViewById(R.id.tvCaptureOn);
    }
}
我没有收到任何错误,但列表没有显示。我正在尝试使用调试器检查,发现onBindViewHolder()方法没有运行

在RecycleServiceAdapter构造函数中,我得到的数据列表大小为2,这意味着成功地从sqlite数据库检索数据

现在我不知道是什么问题,为什么它不工作,请帮助我。
提前感谢:)

您将在
getItemCount()
上返回0。请确保返回的是
支持回收视图集合的列表。emptyList()返回一个空的不可变列表,您应该使用新的ArrayList()。
然后,从列表中添加/删除数据后,必须调用notifyDataSetChanged(),才能看到更改。

另外getItemCount()应该返回dataList.size()

我也有同样的问题..您的代码完全正常,但它没有显示任何列表,因为您在方法getItemCount()中返回了0。只需返回即可 dataList.size()在您的情况下,它会起作用

public class SentData {
String circleName, retailName, retailAddress, captureDate, syncId, detailId;
}