我有标签片段,其中包含3个片段:片段A片段B片段c。 1)现在点击片段A中的项目活动打开。在这种情况下如何处理后退和后退按钮。
2)现在点击片段C中的项目活动打开,其中包含3个包含片段X片段y片段z的选项卡。在这种情况下如何处理背压和后退按钮。
有人可以帮我吗???
答案 0 :(得分:0)
将此代码用于默认后退按钮:
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
}
对于背面图片按钮,只需使用finish()
onClickListener();
即可
Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
如果之前的活动已经关闭,请使用意图进行导航:
Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(currentActivity.this, previousActivity.class);
startActivity(i);
finish();
}
});
答案 1 :(得分:0)
first make method on activity where the fragment is loaded. for example i load the fragment on activity NavigationDrawer.class
public Fragment getVisibleFragment(){
FragmentManager fragmentManager = NavigationDrawer.this.getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
if(fragments != null){
for(Fragment fragment : fragments){
if(fragment != null && fragment.isVisible())
return fragment;
}
}
return null;
}
then, call the method
@Override
public void onBackPressed() {
//call the method
if (getVisibleFragment()!=null) {
//check which current visible fragment
String nameFragment = getVisibleFragment().toString();
if (nameFragment.contains("nameFragmentA")) {
//your action A
}else if(nameFragment.contains("nameFragmentB")){
//your action B
}else{
//another action
}
}
}
It can apply to questions 1 and 2. Hope this help you!