以下是简单的步骤。
step1 : fragment1 was showing and it's already added to Backstack
step2 : fragment2 is added to Backstack and showing it now
step3 : fragment2 is removed from Backstack
最后,fragment1
再次向用户显示。
在这种情况下,无论如何都要检测fragment1是否再次显示内部fragment1
?
我尝试使用OnResume()
,但它无法正常工作。
感谢您的回答!
答案 0 :(得分:1)
@PropertySource("myfile.properties")
public class Config {
@Autowired
private Environment env;
@Bean
ApplicationProperties appProperties() {
ApplicationProperties bean = new ApplicationProperties();
bean.setKey1(environment.getProperty("key1"));
bean.setsomeotherkey(environment.getProperty("someotherkey"));
return bean;
}
}
答案 1 :(得分:1)
在交易中添加片段时,您应该使用标记。
fragTrans.replace(android.R.id.content, myFragment, "MY_FRAGMENT");
...稍后如果要检查片段是否可见:
MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag("MY_FRAGMENT");
if (myFragment != null && myFragment.isVisible()) {
// add your code here
}
另见http://developer.android.com/reference/android/app/Fragment.html
我刚刚复制了这个答案https://stackoverflow.com/a/9295085/7232310 因为我认为你需要的是。否则,您可以在同一问题上查看以下答案。
希望它有所帮助!
答案 2 :(得分:0)
尝试onAttach()
,如果显示片段,则触发此操作。
onDetach()
用于检测片段是否离开用户界面。
例如:你有3个片段(frag1,frag2,frag3),你需要放置onAttach()
frag1
@Override
public void onAttach(Context context) {
super.onAttach(context);
Toast.makeText(context, "I'm frag 1", Toast.LENGTH_SHORT).show();
}
答案 3 :(得分:0)