我创建了一个全新的项目来演示我的问题。基本上,我的片段有两个RadioButton. 当 onCreateView 时,我总是使用radioButtonFirst.setChecked(true);. 但是,如果我检查radioButtonSecond然后按“后退”按钮导航,下次打开它时,它会自动检查radioButtonSecond. 这种行为打破了我的逻辑。
MainActivity.java
public class MainActivity extends AppCompatActivity {
private WeirdFragment weirdFragment;
private FragmentManager fragmentManager;
private FragmentTransaction fragmentTransaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
weirdFragment = new WeirdFragment();
fragmentManager = getSupportFragmentManager();
}
public void openFragment(View v){
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.container, weirdFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
奇怪的Fragment.java
public class WeirdFragment extends Fragment {
private RadioButton radioButtonFirst;
private RadioButton radioButtonSecond;
private Button buttonReturn;
@Nullable
@Override
public View onCreateView(@NonNull …Run Code Online (Sandbox Code Playgroud)