在Android
申请表中,我使用了ActionBar
。我想使用放置在ActionBar
左侧的徽标向用户显示某些状态。我可以这样做:
ActionBar actionBar = getSupportActionBar();
actionBar.setIcon(R.drawable.new_icon);
它有效。
问题在于这种状态在持久。如果我更改活动ActionBar
重置自身,则会显示默认徽标。有没有办法在应用程序运行时期间保存ActionBar
的状态?
答案 0 :(得分:1)
使用活动
中的标准生命周期回调在您的活动的OnCreate方法中尝试读取状态
public void onCreate(Bundle icicle) {
if (data!=null)
{
ActionBar actionBar = getSupportActionBar();
int state = data.getInt("status");
if (state==1)
actionBar.setIcon(R.drawable.icon_a);
else
actionBar.setIcon(R.drawable.icon_b);
}
}
并保存状态以便稍后恢复
protected void onSaveInstanceState(Bundle data) {
super.onSaveInstanceState(data);
data.putInt(icon_state);
}