我已经动态创建RadioButtons
并将它们添加到Radiogroup
. 后来Radiogroup
被添加到一个LinearLayout
. 我的问题是,在设备中一切正常,但在模拟器中。在模拟器中,我可以选择所有单选按钮,与其行为相反。
有什么线索吗?
示例 xml 如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/sam_bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tvReportTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/mediumblue"
android:textColor="@color/white"
android:visibility="gone"
/>
<LinearLayout
android:id="@+id/llGtResponseContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
示例代码创建Radiobuttons
和Radiogroup
public LinearLayout getLayout(ViewGroup vg) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
view = (LinearLayout) inflater.inflate(R.layout.single_type, vg, false);
TextView tv = (TextView)view.findViewById(R.id.txt_single);
if(isCompulsory) {
question = "• " + question;
}
tv.setText(question);
radioView = (RadioGroup) view.findViewById(R.id.single_rg);
for(String i : responseArray) {
RadioButton rb = new RadioButton(context);
// rb.setText(i);
String str = i;
if(str.trim().split("\\|").length > 1) {
rb.setText((str.trim().split("\\|"))[0]);
rb.setTag((str.trim().split("\\|"))[1]);
}
else {
rb.setText(str);
rb.setTag(str);
}
radioView.addView(rb);
}
return view;
}
稍后View
从上述方法返回的返回值被添加到 aLinearLayout
中,该 a 再次包含在 aScrollView
中。