Android 如何从自定义Listview中的RadioGroup中获取选定值

Android 如何从自定义Listview中的RadioGroup中获取选定值,android,listview,listadapter,baseadapter,Android,Listview,Listadapter,Baseadapter,在我的应用程序中,我正在开发一个应用程序学生排名系统 ,是我刚才问的链接。现在我的要求已经满足了,但我无法访问其中的数据 public class ListMobileActivity extends ListActivity { static final String[] MOBILE_OS = new String[] { "001 AAAA", "002 BBBB", "003 CCCC", "004 DDDD"}; static final String[] MOBILE

在我的应用程序中,我正在开发一个应用程序学生排名系统

,是我刚才问的链接。现在我的要求已经满足了,但我无法访问其中的数据

public class ListMobileActivity extends ListActivity {
static final String[] MOBILE_OS = new String[] { "001 AAAA", "002 BBBB",
        "003 CCCC", "004 DDDD"};
static final String[] MOBILE_OS1 = new String[] { "AAAA", "BBBB",
    "CCCC", "DDDD"};
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //setListAdapter(new ArrayAdapter<String>(this, R.layout.list_mobile,
    //      R.id.label, MOBILE_OS));

    setListAdapter(new MobileArrayAdapter(this, MOBILE_OS));
}

}
公共类ListMobileActivity扩展了ListActivity{
静态最终字符串[]MOBILE_OS=新字符串[]{“001 AAAA”,“002 BBBB”,
“003 CCCC”、“004 DDDD”};
静态最终字符串[]MOBILE_OS1=新字符串[]{“AAAA”,“BBBB”,
“CCCC”、“DDDD”};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setListAdapter(新阵列适配器)(此,R.layout.list\u移动、,
//R.id.label,MOBILE_OS));
setListAdapter(新的MobileArrayAdapter(这个,MOBILE_OS));
}
}
适配器是

public class MobileArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;

public MobileArrayAdapter(Context context, String[] values) {
    super(context, R.layout.list_mobile, values);
    this.context = context;
    this.values = values;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.list_mobile, parent, false);
    TextView textView = (TextView) rowView.findViewById(R.id.label1);
    TextView textView1 = (TextView) rowView.findViewById(R.id.label);
    RadioGroup radioSexGroup=(RadioGroup) rowView.findViewById(R.id.radioSex);
    int selectedId = radioSexGroup.getCheckedRadioButtonId();
    RadioButton radioSexButton= (RadioButton) rowView.findViewById(selectedId);;
    textView.setText(values[position]);
    textView1.setText(String.valueOf(position+1));
    // Change icon based on name
    String s = values[position];
    System.out.println(s);
    return rowView;
}
}
公共类MobileArrayAdapter扩展了ArrayAdapter{
私人最终语境;
私有最终字符串[]值;
公共MobileArrayAdapter(上下文,字符串[]值){
super(上下文、R.layout.list\u mobile、值);
this.context=上下文;
这个值=值;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
视图行视图=充气机。充气(R.layout.list\u mobile,parent,false);
TextView TextView=(TextView)rowView.findViewById(R.id.label1);
TextView textView1=(TextView)rowView.findViewById(R.id.label);
RadioGroup RadioExGroup=(RadioGroup)rowView.findViewById(R.id.RadioEx);
int selectedId=RadioExGroup.getCheckedRadioButtonId();
RadioButton RadioExButton=(RadioButton)rowView.findViewById(selectedId);;
setText(值[位置]);
textView1.setText(String.valueOf(position+1));
//根据名称更改图标
字符串s=值[位置];
系统输出打印项次;
返回行视图;
}
}
我可以对这个单选按钮执行任何操作

现在我的输出屏幕如下


但我无法得到在每一行选择哪个单选按钮,请帮助我实现这一点。是否需要使用…

使用数组列表来保存选择来更改适配器

List<Integer> sexGrp=new ArrayList<Integer>();

在你的
getView
方法中写下这个循环,这里
arrayChekedCheckBox
是你所有选中的
复选框的集合

        for (int i = 0; i < arrayListOfStudent.size(); i++) {
            if (i==postion){
                arrayChekedCheckBox.add(postion) ;
                break;
            }
        }
for(int i=0;i
在哪里可以实现此代码。。!在适配器的getView()中。别忘了从checkedd中获取RadioButton的元素位置。数据是动态数据,我在运行时获取数组中的数据。我已经为我的应用程序展示了一个输入示例
        for (int i = 0; i < arrayListOfStudent.size(); i++) {
            if (i==postion){
                arrayChekedCheckBox.add(postion) ;
                break;
            }
        }