未删除默认片段的内容

时间:2016-08-15 07:45:57

标签: android android-fragments

我在Android项目中添加了DATE OPR_DIST OPR_MILEAGE 6/10/2016 ? ? 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0.37 0 6/10/2016 0.46 0.46 6/10/2016 0.47 0.47 6/10/2016 0 0 6/10/2016 0.32 0 6/10/2016 0.37 0.37 6/10/2016 0.47 0.47 6/10/2016 0.56 0.56 6/10/2016 0.32 0.32 6/10/2016 0.26 0.26 6/10/2016 0 0 6/10/2016 0.3 0 6/10/2016 0 0 6/10/2016 0.36 0 6/10/2016 0.25 0.25 6/10/2016 0.25 0.25 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0 0 6/10/2016 0.46 0 6/10/2016 0.24 0.24 6/10/2016 0 0 6/10/2016 0.33 0 6/10/2016 0 0 6/10/2016 0 0 NavigationDrawer

所以我开始添加1 Activity,它将通过Fragment中的一个项目启动。

我的问题是每当我启动NavigationDrawer时,内容(绿色)都没有被更改。但是新的Fragment的内容是(红色)。 enter image description here

这是我改变片段的代码:

Fragment

3 个答案:

答案 0 :(得分:0)

你应该替换

Fragment newFragment = new GradeSheet();

为:

GradeSheet gradeSheetFragment = GradeSheetFragment.newInstance();

并将您的片段设置为:

public static MultichoiceFragment newInstance(JSONObject questionObject) {

    Bundle args = new Bundle();
    args.putString(QUESTION_OBJECT, questionObject.toString());
    MultichoiceFragment fragment = new MultichoiceFragment();
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(getArguments()!=null){
        try {
            joQuesstionObject = new JSONObject(getArguments().getString(QUESTION_OBJECT));
            BaseActivity.printOut("Question Object",joQuesstionObject.toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

}

答案 1 :(得分:0)

从代码中删除transaction.addToBackStack(null);

真正发生了什么?
通过调用addToBackStack,您告诉android您希望新的Fragment UI位于旧的UI之上,并且由于大多数新UI都是透明的,因此您可以看到旧的片段。

答案 2 :(得分:0)

以XML格式编码的片段无法替换。如果您需要将片段替换为另一片段,则应该动态添加它们。

你的代码看起来很好。因为你还没有动态添加旧片段的原因,所以你原因就在那里了。

请关注此问题