Android:无法更改 Window 标题中的图像

Android: Not able to change image in Window Title

我有一个 parent activity(所有其他活动都从中扩展)- 在 window 标题中有一个 'Navigation Drawer Toggle' 图标。

我想在每次单击抽屉图标时更改 'Navigation Drawer Toggle' 图像(到 open/close 抽屉)

public class ParentActivity extends Activity {
private ImageView imgDrawer;

@Override
    protected void onCreate(Bundle savedInstanceState) {
    ....
    setContentView(R.layout.window_title);  
    imgDrawer = (ImageView)findViewById(R.id.imgdrawer);
    ...
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.window_title);
}

...
public void openDrawer()
{
  ...
   //Switch Image
   imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_close_drawer));
}

public void closeDrawer()
{
   ...
   //Switch Image
   imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_open_drawer));
}
...
}

问题是在调用 openDrawer 和 closeDrawer 时 'imgDrawer' 没有改变。 这是因为 'imgDrawer' 图标在 window 标题中还是其他?

可能 setContentViewsetFeatureInt 布局相同,在设置标题布局之前调用 getWindow().setFeatureInt。这样做:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
    ....
    setContentView(R.layout.window_title);  

    ...
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.window_title);
    imgDrawer = (ImageView)getWindow().findViewById(R.id.imgdrawer);
}

或传递包含 ImageView 的布局与来自 setContentView 布局

的布局不同