Jon*_*han 3 java android radio-group radio-button
当我在XML布局文件中创建一个RadioGroup时,一切都很好,但是当我动态创建它时,RadioButtons在选择另一个时不会取消选择:

这是代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
RadioButton radioButtonView = new RadioButton(this);
radioButtonView.setText("RadioButton");
radioGroup.addView(radioButtonView);
RadioButton radioButtonView2 = new RadioButton(this);
radioButtonView2.setText("RadioButton2");
radioGroup.addView(radioButtonView2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
和布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
</RadioGroup>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
您需要为单选按钮设置某种ID,如下所示:
int idRadio = <some number>;
radioButtonView.setId(idRadio++);
radioButtonView2.setId(idRadio++);
Run Code Online (Sandbox Code Playgroud)
一旦他们有不同的ID,它应该工作.只需确保ID不会与任何现有的图形元素发生冲突,并且不为零(转到"gen"文件夹并查看R.java以获取其他元素ID).
| 归档时间: |
|
| 查看次数: |
1029 次 |
| 最近记录: |