实际上我试图实现的是“回家”按钮
在活动A中,我使用TabHost创建视图,这意味着Tab 0是Home而Tab-5是其他页面
用户可以转到其他页面,在该页面中,有一个按钮,当用户点击它时,它是一个activityB
所以,在那个activityB中,有一个“回家”按钮
home.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
onBackPressed();
}
});
对于该按钮,我可以使用finish()或onBackpressed()来关闭当前活动,但是如何将该选项卡更改为该activityB中的tab 0,或者,我可以尝试以其他方式实现此操作?
由于
我将tabhost设置为static,但它只是像这样抛出异常
04-30 09:27:06.799: E/AndroidRuntime(21154): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1354)
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1372)
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.support.v4.app.FragmentTabHost.onTabChanged(FragmentTabHost.java:313)
04-30 09:27:06.799: E/AndroidRuntime(21154): at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:391)
答案 0 :(得分:0)
当您要使用标签活动时,您需要使用
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
setOnClickListner
不适用于标签主机活动,标签活动可以使用setOnPageChangeListener
找到该网页