我有一个 Activity 实例化一些片段:
List<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(Fragment.instantiate(this, HomeFragment.class.getName()));
fragments.add(Fragment.instantiate(this, BorrowedFragment.class.getName()));
fragments.add(Fragment.instantiate(this, LentFragment.class.getName()));
fragments.add(Fragment.instantiate(this, PeopleFragment.class.getName()));
这些片段链接到 ViewPager。每个片段运行一个 SELECT 语句并将内容作为列表显示给用户。
问题是在 HomeFragment 中,我有一个按钮,单击该按钮时,它会向用户显示一个表单,因此他可以向该表添加信息。当用户添加信息时,我完成()活动并再次显示 HomeFragment。当我滑动到 BorrowFragment 时,那里没有显示任何内容。我必须浏览到 PeopleFragment(列表的最后一个)并返回 BorrowedFragment。只有这样,才会显示信息。
插入信息时,我唯一要做的就是:
Button btDone = (Button) findViewById(R.id.buttonDone);
btDone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(ck1.isChecked())
isIOwe = true;
else
isIOwe = false;
insertRecord();
Toast.makeText(getApplicationContext(), "Record added", Toast.LENGTH_SHORT).show();
/*FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(Fragment.instantiate(ctx, PeopleFragment.class.getName()), "test");
ft.commit();*/
finish();
}
});
我一直想知道是否应该对 FragmentTransaction 做些什么,以便能够重新启动 Fragment 的生命周期。
有什么帮助吗?
谢谢,费利佩