回收视图列表中的Android复选框
我想用Rest服务的接收列表选中一些复选框 这里有一些代码 请求回收视图列表中的Android复选框,android,android-recyclerview,Android,Android Recyclerview,我想用Rest服务的接收列表选中一些复选框 这里有一些代码 请求 private void requestOpcionais() { OpcionalRequestHelper.opcionaisRequest(Request.Method.GET, EndpointURL.GET_OPCIONAIS, null, new Response.Listener<Opcional[]>() { @Override public void onRes
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();
}
});
}
private void requestOpcionais(){
OpcionalRequestHelper.opcionaisRequest(Request.Method.GET,EndpointURL.GET_OPCIONAIS,null,new Response.Listener()){
@凌驾
public void onResponse(选项[]响应){
ArrayList opcionalArrayList=新建ArrayList();
addAll(Arrays.asList(response));
mRecyclerView.setHasFixedSize(true);
mLayoutManager=新的LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mllayoutmanager);
listOpcionalAdapter=新的listOpcionalAdapter(getActivity(),opcionalArrayList,VeiculoFragment.this);
mrecycerview.setAdapter(listOpcionalAdapter);
if(veiculo!=null){
setOpcionalVeiculoSelected(opcionalArrayList,veiculo.getOpcionais());
}
progressDialogOpcionais.discouse();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
progressDialogOpcionais.discouse();
Toast.makeText(getActivity(),“Erro ao carregar opcionais.”,Toast.LENGTH_LONG.show();
}
});
}
如果我的选择列表
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);
}
}
}
}
private void setOpcionalVeiculoSelected(ArrayList opcionalArrayList,List opcionais){
for(Opcional opcionalList:opcionalArrayList){
对于(Opcional opcionalVeiculo:opcionais){
if(opcionalviculo.getId()==opcionalList.getId()){
mOpcionalChecked.add(opcionalviculo);
}
}
}
}
我如何检查我的回收视图上的“选项”?我通过这种方式解决了我的问题 我已将阵列发送到适配器
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()上,我检查了数组是否为null
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);
}
}
}