我有会议室,我想将存储数据解析到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);
}
}
}