我想查看一些带有来自Rest Service的收据列表的复选框。
这里有一些代码。
请求
private void requestOpcionais() {
OpcionalRequestHelper.opcionaisRequest(Request.Method.GET, EndpointURL.GET_OPCIONAIS, null, new Response.Listener<Opcional[]>() {
@Override
public void onResponse(Opcional[] response) {
ArrayList<Opcional> opcionalArrayList = new ArrayList<>();
opcionalArrayList.addAll(Arrays.asList(response));
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
listOpcionalAdapter = new ListOpcionalAdapter(getActivity(), opcionalArrayList, VeiculoFragment.this);
mRecyclerView.setAdapter(listOpcionalAdapter);
if (veiculo != null) {
setOpcionalVeiculoSelected(opcionalArrayList, veiculo.getOpcionais());
}
progressDialogOpcionais.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialogOpcionais.dismiss();
Toast.makeText(getActivity(), "Erro ao carregar opcionais.", Toast.LENGTH_LONG).show();
}
});
}
如果我的opcional列表有验证......
private void setOpcionalVeiculoSelected(ArrayList<Opcional> opcionalArrayList, List<Opcional> opcionais) {
for (Opcional opcionalList : opcionalArrayList) {
for (Opcional opcionalVeiculo : opcionais) {
if (opcionalVeiculo.getId() == opcionalList.getId()) {
mOpcionalChecked.add(opcionalVeiculo);
}
}
}
}
我如何检查我的Recyclerview上的“opcionais”?
答案 0 :(得分:0)
我以这种方式解决了我的问题...
我已将数组发送到我的适配器。
if (veiculo != null) {
setOpcionalVeiculoSelected(opcionalArrayList, veiculo.getOpcionais());
listOpcionalAdapter = new ListOpcionalAdapter(getActivity(), opcionalArrayList, VeiculoFragment.this, veiculo.getOpcionais());
} else {
listOpcionalAdapter = new ListOpcionalAdapter(getActivity(), opcionalArrayList, VeiculoFragment.this, null);
}
在我的onBindViewHolder()上,我检查了我的数组是否为空。
onBindViewHolder()
if (opcionalsVeiculo != null) {
setOpcionalVeiculoSelected(holder, position);
}
最后从适配器检查我的数组和我的另一个数组的位置。
private void setOpcionalVeiculoSelected(ViewHolder holder, int position) {
for (Opcional opcional : opcionalsVeiculo) {
if (opcionals.get(position).getId() == opcional.getId()) {
holder.chb_opcional.setChecked(true);
}
}
}