重新加载片段时视图出现问题

时间:2013-07-18 20:54:00

标签: android

当我创建视图时,这有点

public static int a=0;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
           a++;
           View view = inflater.inflate(R.layout.fragment_layout, container, false);
           editText = (EditText) view.findViewById(R.id.amount);
           TextView tv = (TextView) view.findViewById(R.id.textView1);
           Button button = (Button) view.findViewById(R.id.addTransaction);
           button.setOnClickListener(this); ///fragments implements OnClickListener 
           editText.setText(""+a);
           tv.setText(""+a);
           return view;
        }

当我第一次加载这个片段时,我的editText是空的,但是当我再次加载片段时,editText中的值与之前的执行中的值相同。

有人知道我做错了什么吗?我怎么解决它?


**编辑

我修改了一点我的代码,现在每次当我加载片段a时都会增加。并且我注意到了奇怪的行为。 tv具有实际值a,而editText仍具有旧值

3 个答案:

答案 0 :(得分:2)

您需要将settext(可能还有一些其他内容)移动到片段生命周期中的后续方法中,例如onActivityCreated。

答案 1 :(得分:1)

在添加片段之前尝试通过调用FindFragmentByTag(“tag”)来获取片段,我认为您正在添加新片段。还要将片段事务添加到后台状态,然后检查是否添加了多个片段,请按返回按钮。我有类似的问题,原因是我不断在活动中添加新的片段

答案 2 :(得分:0)

碎片与活动联系在一起,所以我的猜测是活动没有被破坏,这意味着你的碎片没有被破坏而是“恢复”。也许您想要onResume回调中的代码?看一下Fragment生命周期:Android Fragments

相关问题