0
因此,我正在更新一个现有的旧应用程序,并试图使它更具材质和更新。这个片段是否等于这个片段
旧应用程序的一个关键区域有一个“向导”类型的接口,它将是一系列活动,用户可以使用UI后退按钮或Android通过向导添加Parcelable数据并向前和向后移动返回键。
我已经更新到碎片整个应用程序,并且谷歌说没有UI后退按钮,我依靠默认后退按钮。
在默认后退键片段不注册,我想实现沿该解决方案的线路在Vinsol
这类作品的东西,但我需要确定哪些片段中使用的后退按钮这样我才能决定要做什么。这是主要活动的处理程序:
@Override
public void onBackPressed() {
if(selectedFragment == null) {
//this isn't a Fragment we need to handle
super.onBackPressed();
}else if(selectedFragment == myFragmentOne){
//do something here for that fragment
//before going back
}else if(selectedFragment == myFragmentTwo){
//do something here for that fragment
//before going back
}
}
空处理程序工作正常,因为我设置selectedFragment为null对我不感兴趣的任何特殊处理的片段。
但selectedFragment是null或Fragment。我如何检查selectedFragment是myFragmentOne还是myFragmentTwo?没有要检查的标签。
这种方式难道这是一个问题''=='VS .equals()'? – Alexander 2015-04-02 00:42:08
使用FragmentManager的后台堆栈。然后,你可以简单地.popBackStack()http://developer.android.com/reference/android/app/FragmentManager.html#popBackStack() – 2015-04-02 01:19:01
我不想只是弹出后台堆栈,我需要保存和将可分段数据传递给接收片段 – DaveSav 2015-04-02 20:22:12