Android 在回退期间在片段中保留以前的值

Android 在回退期间在片段中保留以前的值,android,Android,我已经为多个视图创建了相同的片段,也就是说,我有一个片段,比如模板控制器,并且在每个项目上单击列表视图相同的片段,比如 public void onItemClick(AdapterView<?> parent, View view, int position,long id) { switch (position) { case 0: Constant.TAG_VALUE = "Network"; F

我已经为多个
视图创建了相同的
片段
,也就是说,我有一个
片段
,比如
模板控制器
,并且在每个项目上单击
列表视图
相同的
片段
,比如

public void onItemClick(AdapterView<?> parent, View view, int position,long id)
{
        switch (position) {

        case 0:
            Constant.TAG_VALUE = "Network";
            FragmentManager mFragmentManager =  getFragmentManager();
            TemplateController  mTemplateController = new TemplateController();
            //mFragmentManager.beginTransaction().replace(R.id.idc_container, mTemplateController).commit();
            mFragmentManager.beginTransaction().addToBackStack(getTag()).add(R.id.idc_container, mTemplateController).commit();
            break;

        default:
            break;

        }

}
rowLayout
是一行
TableLayout
,每行加载不同的JSON

我的问题是,当我单击特定行时,一个视图打开,它与
TemplateController
相同,然后我移动到下一个屏幕,然后通过按物理后退按钮返回此屏幕,然后移动到右屏幕,但当我单击另一行时,再次打开下一个屏幕,而不是所需的屏幕,意思是当我点击后退按钮时,然后
标记值
不更改其值,然后当我按下后退按钮时,更改标记值的值

感谢您的帮助。
谢谢这里,当你移到后面时,你必须清除后面堆栈中的标签。
我的意思是从当前可见片段标记中清除上面的标记。向后移动时,从backstack中移除当前标记,然后移动上一个片段。明白了吗

不,我还没有清除标签。在哪个位置清除tag.in onBackPressed()方法此方法是活动而不是片段。请提供一些代码。@Override public void onBackPressed(){//TODO自动生成的方法存根碎片管理器manager=getSupportFragmentManager();Log.i(“Count”,“Count=”+manager.getBackStackEntryCount());if(manager.getBackStackEntryCount()>0){manager.popBackStack(yourtag);manager.beginTransaction().commit()}否则{super.onBackPressed();}}但我正在研究片段,然后我将如何实现这个方法
rowLayout.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        if (NcrPulseConstants.TAG_VALUE == "Unresolved") {
            NcrPulseConstants.TAG_VALUE = "ListATM";
            int tag = (Integer) v.getTag();
            switch (tag) {
            case 0:
                fileName = "a.txt";
                break;
            case 1:
                fileName = "b.txt";
                break;

            default:
                break;
            }

            String jsonLocation = Utility.loadStringFromAsset(
                    getActivity(), fileName);
            FragmentManager mFragmentManager = getFragmentManager();
            TemplateController templateController = new TemplateController(
                    jsonLocation);
            mFragmentManager.beginTransaction()
                    .addToBackStack(getTag())
                    .add(R.id.idc_container, templateController)
                    .commit();

        }

    }
});