我有TabActivity
,其中包含4个标签。每个标签都有一个FragmentActivity
和2-3 Fragments
。
从片段中,我将转到Activity
,而Tabs
不属于Activity
。
在点击Fragment
的“后退”按钮时,我想回到之前的public boolean onKeyDown(int keyCode, KeyEvent event)
,
没有破坏那个活动。
我重写了{{1}}方法,但问题是它显示的是没有Tabs的上一个片段。我希望显示标签......
答案 0 :(得分:1)
在您的活动类中使用onBackPressed方法。
@Override
public void onBackPressed(){
if(you wanto go back){
super.onBackPressed();
}else{
//if you dont want to go back
// do what you need hear....
}
}
答案 1 :(得分:1)
您需要做的是,而不是使用KeyCode Back,您已在Activity中覆盖以下方法,
@Override
public void onBackPressed() {
super.onBackPressed();
} 并使用SharedPrefrence保存Button的状态,下次当您输入Activity时,从Sharedpreference获取值并相应地设置按钮的启用状态。
实施例,
private void SavePreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("state", button.isEnabled());
}
private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
Boolean state = sharedPreferences.getBoolean("state", false);
button.setEnabled(state);
}
@Override
public void onBackPressed() {
SavePreferences();
super.onBackPressed();
}
onCreate(Bundle savedInstanceState)
{
//just a rough sketch of where you should load the data
LoadPreferences();
}