我有一个带有viewPager
的mainActivity和三个标签,每个标签都有各自的fragment
。我希望在启动此mainActivity并按下backButton
时,不会发生任何事情。
要实现这一点,我在mainActivity中覆盖onBackPressed()
,其中viewPager
带有标签,但是当mainActivity ia启动其中一个标签Fragment
时,默认情况下会出现,当我按下backButton时,我回去了,这意味着Backbuton没有被禁用。
就是这样,在mainActivity中,我有:
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Log.w(TAG, "@onBackPressed().");
}
并且片段中没有禁用他的后退按钮,每次按下它时,logCat
会在onBackPressed
显示消息然后我回去,我不想要这个,我想要的我在片段“任何一个标签”中,backButton应该没有效果。
请让我知道如何实现这一目标?
答案 0 :(得分:2)
尽量不要打电话
super.onBackPressed();
虽然日志仍会打印,因为会调用该方法,但这会阻止Android执行逻辑并返回。
如果您希望片段选项卡不执行任何操作,但是要使用viewpager来处理它,请执行以下操作
@Override
public void onBackPressed() {
if (getCurrentTab == 0) {
super.onBackPressed();
} else {
//This will stop the fragment tabs from doing anything when back is pressed
}
}
答案 1 :(得分:1)
如果您需要避开后退按钮,请评论超级电话//super.onBackPressed();