我正在尝试重用相同的Fragment,只需在Fragment中交换一些实例变量。我的问题是我不能强制UI更新。我试过了:
detailFragment.setDetails(bundle);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.detailFragment, detailFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
但它似乎没有对我的UI进行任何更改。在我创建一个新的DetailFragment()的同时,相同的代码工作正常并更改UI。你能帮忙吗?
答案 0 :(得分:0)
据我了解,您希望更新片段中的“视图”。您可以获取视图并设置其新值。 EG:如果是文本视图,则只需设置新文本。
答案 1 :(得分:0)
你有detailFragment
我假设你的片段类。
保留该类的实例
DetailFragment df = (DetailFragment)detailFragment;
在该类中创建一个公共方法
public void updateMyUi(){
//do ui stuff
}
然后你所要做的就是打电话
df.updateMyUi();