Android ListView with RadioButton in singleChoice mode and a custom row layout

前端 未结 7 1966
野趣味
野趣味 2020-12-06 04:13

I have a ListView, which is in singleChoice mode. All I want is to display a RadioButton to the side, that when clicked highlights to say i

7条回答
  •  情话喂你
    2020-12-06 05:07

    On your adapter:

    public void setChecked(View v, int position) {
    
        ViewGroup parent = ((ViewGroup) v.getParent()); // linear layout
    
        for (int x = 0; x < parent.getChildCount() ; x++) {
    
            View cv = parent.getChildAt(x);
            ((RadioButton)cv.findViewById(R.id.checkbox)).setChecked(false); // your checkbox/radiobtt id
        }
    
        RadioButton radio = (RadioButton)v.findViewById(R.id.checkbox);
        radio.setChecked(true);
    }
    

    On your activity/fragment:

       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                ((ModelNameAdapter)adapter).setChecked(view, position);
    
            }
        });
    

提交回复
热议问题