如何将数组列表模型实时数据模型解析为recyclrivew?

时间:2018-09-27 07:33:11

标签: java android android-room

我有会议室,我想将存储数据解析到recyclerview中,但是一次只显示一个数组列表,而不是全部列表,我又一次怎么解析所有列表。 代码在下面。

 clientViewModel.getItemAndPersonList().observe(getActivity(), new 
 Observer<List<Example>>() {
  @Override
  public void onChanged(@Nullable List<Example> itemAndPeople)
  {
  recyclerViewAdapter.addItems(itemAndPeople);
        }
    });

和我的视图模型类

public class AddBorrowViewModel extends AndroidViewModel {
private final LiveData<List<Example>> itemAndPersonList;
private AppDatabase appDatabase;

public AddBorrowViewModel(Application application) {
    super(application);

    appDatabase = AppDatabase.getDatabase(this.getApplication());
    itemAndPersonList = appDatabase.itemAndPersonModel().getAll();
}


public void addBorrow(final Example borrowModel) {
    new addAsyncTask(appDatabase).execute(borrowModel);

}

private static class addAsyncTask extends AsyncTask<Example, Void, Void> {

    private AppDatabase db;

    addAsyncTask(AppDatabase appDatabase) {
        db = appDatabase;
    }

    @Override
    protected Void doInBackground(final Example... params) {
        //db.itemAndPersonModel().addBorrow(params[0]);
        db.itemAndPersonModel().insert(params[0]);
        return null;
    }

}
public LiveData<List<Example>> getItemAndPersonList()
{
    for (Example example:itemAndPersonList.getValue()) {
        example.getValue().get(0).getFields().getId();
        example.getValue().get(0).getFields().getJobCategory();
        example.getValue().get(0).getFields().getTitle();
    }

    return itemAndPersonList;
}}

在这里,我正在itemAndPersonList中获取所有数据,但是无法通过for循环对其进行迭代,任何人都可以对此进行帮助。 适应班。

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

private List<Example> borrowModelList;


public RecyclerViewAdapter(ArrayList<Example> borrowModelList, FragmentActivity activity) {
    this.borrowModelList = borrowModelList;

}

@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    return new RecyclerViewHolder(LayoutInflater.from(parent.getContext())
            .inflate(R.layout.idp_list, parent, false));
}

@Override
public void onBindViewHolder(final RecyclerViewHolder holder, int position) {
    Example borrowModel = borrowModelList.get(position);
    holder.tvId.setText(borrowModel.getValue().get(position).getCreatedDateTime());
    holder.tvTitle.setText(borrowModel.getValue().get(position).getFields().getJobCategory());
    holder.tvLookup.setText(borrowModel.getValue().get(position).getFields().getTitle());

}

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

public void addItems(List<Example> borrowModelList) {
    this.borrowModelList = borrowModelList;

    notifyDataSetChanged();
}

static class RecyclerViewHolder extends RecyclerView.ViewHolder {
    private TextView tvId;
    private TextView tvTitle;
    private TextView tvLookup;
    RecyclerViewHolder(View view) {
        super(view);
        tvId = view.findViewById(R.id.tvId);
        tvTitle = view.findViewById(R.id.tvTitle);
        tvLookup = view.findViewById(R.id.tvLookup);
    }
}

}

0 个答案:

没有答案