我有一个带有两个RadioButtons的RadioGroup的活动。 RadioButtons的行为类似于制表符,应根据单击的按钮创建两个不同的片段。问题是碎片' onCreateView方法被调用两次,我无法找出原因。
这是我的活动:
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);
}
}
}
非常感谢任何帮助。感谢。
答案 0 :(得分:1)
我在这里找到了答案:depedency plugin
您应该只使用radio1.setChecked(true)
而不是user = my_unix_username
。
答案 1 :(得分:0)
尝试一个片段对象
authenticator:admin
的实施
authenticator:manager
和
private RadioOneFragment radio1Fragment;
private RadioTwoFragment radio2Fragment;