【发布时间】:2017-09-19 16:36:48
【问题描述】:
我认为对片段的调用是同步的,但事实并非如此。我有一个片段 1,其中包含我通过适配器更新的列表视图。然后我有一个启动片段 2 的按钮。 Frag2 对 frag1 的列表视图有影响,所以我认为我可以执行以下操作。但是当我点击按钮 btn1 时,我的片段 frag2 会在我看到 log.i 之后立即启动。
我想避免 frag1 中的刷新按钮。
有没有办法在 frag2 结束后立即执行操作?
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
context = getActivity().getApplicationContext();
initFindView();
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
Frag2 f2 = new Frag2();
ft.replace(R.id.content_frame, f2);
ft.addToBackStack(null);
ft.commit();
Log.i("TEST","Test - back from tst2");
}
});
}
【问题讨论】:
-
"Frag2 对 frag1 的列表视图有影响" - 我想这意味着在显示 Frag2 时采取的操作会改变 ListView 中显示的数据?如果是这种情况,也许你应该使用 LoaderManager(就像在这个 blog post by Alex J. Lockwood 中)
-
看起来不错。我会试一试。谢谢。
标签: android listview android-fragments android-nested-fragment