实际上问题是我只是从抽屉导航加载一个 fragment (让调用 fragment -A)现在 fragment -A 调用一个虚拟 Activity ,虚拟 Activity 加载一个 Fragment-B 比 fragment-B 调用 Fragment C 而 fragment-C 调用 Fragment-D..
整体上图:
Fragment-A(call)-->Dummy Activity(load)-->fragment-B(call)-->fragment-C(call)-->fragment-D(call)
现在我有一些关于这个的问题:
- 实际上 Fragment D 中有一个按钮,当按钮被调用时我必须返回到 Fragment-A
- 现在在 fragment (B、C&D)加载期间,我必须处理
On Back
Pressed.. 意味着如果用户在 fragment D 中而不是按后退键,则 Fragment-C 被加载,反之亦然,但是当用户在 Fragemnt-B 上时调用On-back
键而不是 Fragment A 被加载<
注意:
编辑:
- 实际上Fragment-A是Activity-(a)的一部分,剩下的Fragmnets(B,C&D)是Activity-(X)的一部分
代码:
repo 链接:Code link
最佳答案
上面的场景可以通过下面的方式解决..
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
finish();
}
如果 fragment D中的按钮被调用,请调用该函数 getActivity().onBackPresses(); 它将完成当前的 Activity..
关于android - 在 fragment 期间处理后退按钮键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985915/