如何获取actionbar的图标

How to get the icon of the actionbar

在我的 activity 中,ActionBar 的标题和图标是通过编程设置的。要将两者都保存在 onStop() 中,我必须取回这些值。标题可以通过getActionBar.getTitle()来阅读。但是 ActionBar 没有提供 getIcon() 方法。如何获得图标?

public class MainActivity extends ActionBarActivity {
    protected void onCreate(Bundle savedInstanceState) {
      ...
      getActionBar().setTitle("MyActualTitle");
      getActionBar().setIcon(R.drawable.logo1);
      ...
    }

    protected void onStop() {
    super.onStop();
    String actualTitle = getActionBar().getTitle().toString();
    int actualIcon = getActionBar().getIcon(); //Missing
    // Save both in SharedPreferences 
    ...
}

一个简单的方法是

ImageView mImageView = (ImageView) findViewById(android.R.id.home);
Drawable dr = mImageView.getDrawable();

在 onCreate 中保留一个成员值:

getActionBar().setIcon(R.drawable.logo1);
mIcon = R.drawable.logo1

并用它来存储共享偏好的价值