我有一個RadioGroup有兩個RadioButton的活動。 RadioButtons的行爲與標籤類似,應該創建兩個不同的片段,具體取決於哪些按鈕已被點擊。問題是片段的onCreateView方法被調用兩次,我不明白爲什麼。在RadioGroup中創建多次片段
這是我的活動:
public class MyActivity {
private RadioGroup radioGroup;
private FrameLayout frame;
private RadioButton radio1;
private RadioButton radio2;
private RadioOneFragment radio1Fragment;
private RadioTwoFragment radio2Fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity_layout);
radio1 = (RadioButton) findViewById(R.id.radio1);
radio2 = (RadioButton) findViewById(R.id.radio2);
radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.radio1:
radio1Fragment = new RadioOneFragment();
getFragmentManager().beginTransaction()
.replace(R.id.radio_frg_container, radio1Fragment)
.commit();
break;
case R.id.radio2:
radio2Fragment = new RadioTwoFragment();
getFragmentManager().beginTransaction()
.replace(R.id.radio_frg_container, radio2Fragment)
.commit();
break;
}
}
});
if (getIntent().getExtras() != null) {
radioGroup.check(R.id.radio2);
} else {
radioGroup.check(R.id.radio1);
}
}
}
任何幫助是極大的讚賞。謝謝。
此行爲是否是由於我正在檢查代碼中的單選按鈕而導致的? – user3165984