【发布时间】:2013-12-01 14:18:40
【问题描述】:
这里是声明:
FragmentManager fr = getFragmentManager();
FragmentTransaction ft = fr.beginTransaction();
Fragment myFragment = new defaultFragment();
ft.add(R.id.fragment, myFragment);
ft.commit();
这里是onClick() 方法:
public void startFragment(View v){
newFragment = new nextFragment();
execute();
}
执行方法:
public void execute() {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.add(R.id.fragment, newFragment);
transaction.addToBackStack(null);
transaction.commit();
}
我不能解决这个问题,但是当我单击触发startFragment(View v) 方法的按钮时,什么也没有发生,片段不会被我要添加到堆栈上的片段替换。我认为问题与这条线有关transaction.add(R.id.fragment, newFragment);请帮助谢谢:)
【问题讨论】:
-
使用
replace。您是否还在日志中看到任何异常 -
在logcat上,好像调用了nextFragment()的类,但是当前的fragment没有消失,也没有出现下一个fragment,我没有用replace,因为我不想丢我从上一个片段中获得的数据,所以当我按下后退按钮时,我不必重新加载 onCreateView()。
-
嘿@Raghunandan 我明白了,谢谢你的帮助 :)) 感谢 Rajesh Batth
标签: android transactions fragment