Cha*_*gUZ 34 android android-actionbar
活动A ===单击按钮===>活动B.
按下后退按钮时,不会重新创建活动A.
按home键作为向上按钮时,将重新创建活动A.
所以我在A.onSaveInstanceState(Bundle outState)时保存状态,并在A.onRestoreInstanceState(Bundle savedInstanceState)时使用状态.
保存和使用工作正常(除了主页作为向上按钮)
.
然而,
当按下home作为向上按钮时,系统重新创建活动A,并且savedInstanceState消失.
我如何使用已保存的实例状态?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// I do not want this...
// Home as up button is to navigate to Home-Activity not previous acitivity
super.onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
Aeg*_*gis 54
在onCreate()中启用主页按钮.
@Override
public void onCreate(Bundle savedInstanceState) {
...
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
在onOptionItemSelected()方法中执行此操作.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
这应该启用向上导航.如果希望使用savedInstanceState还原父活动.您应该launchMode="singleTop"在Manifest文件中设置父活动.
有关更多信息,请访问http://developer.android.com/:提供导航
小智 29
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
我用面漆()的insteed NavUtils ;
| 归档时间: |
|
| 查看次数: |
34705 次 |
| 最近记录: |