0

我试图重用相同的片段,只是在片段中交换一些实例变量。我的问题是我不能强制 UI 更新。我试过了:

detailFragment.setDetails(bundle);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.detailFragment, detailFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();

但它似乎没有对我的用户界面进行任何更改。同时,当我创建一个新的 DetailFragment() 时,相同的代码可以正常工作并更改 UI。你能帮忙吗?

4

2 回答 2

0

据我了解,您想更新片段中的“视图”。您可以获取视图并设置它们的新值。EG:如果是文本视图,您只需设置新文本。

于 2013-08-08T15:04:38.930 回答
0

你有你的detailFragment,我假设你的片段类。

保留该类的实例

DetailFragment df = (DetailFragment)detailFragment;

在该类中创建一个公共方法

public void updateMyUi(){
    //do ui stuff
}

那么你所要做的就是打电话给

df.updateMyUi();
于 2013-08-08T15:05:26.710 回答