ActionBar背景没有设置

时间:2013-09-30 10:02:35

标签: android android-actionbar

我可以使用以下代码在onCreate中设置ActionBar。

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setIcon(android.R.color.transparent);
actionBar.setBackgroundDrawable(getResources().getDrawable(
                R.drawable.myDrawable1));
actionBar.setTitle("");

所以会发生什么是用户单击按钮并调用下面的方法来显示列表视图。在这里,我成功地将动作栏的背景更改为R.id.myDrawable2。

public void displayList() {

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setIcon(android.R.color.transparent);
    actionBar.setBackgroundDrawable(getResources().getDrawable(
            R.drawable.myDrawable2));
    // actionBar.setTitle("Some Nonempty text"); // If I uncomment this line then action bar background is correctly displayed.

    // Display listview
    .
    .
    .
}

现在,用户点击列表视图的项目并启动另一项活动。用户返回上一个活动时出现问题。 回来后,动作栏背景消失了。它是纯白色的。

当用户回来时,用户应该看到该列表视图。所以我调用上面显示listview的方法并将操作栏背景更改为myDrawable2。但在这里,操作栏背景重置为纯白色。

注意:如果我将操作栏标题设置为某些非空文本,则会以正确的背景显示。

我找到了一个临时解决方法,在将文本设置为某些文本后立即将文本重置为“”。但这不是一个合适的解决方案。

有谁能告诉我背景设置有什么问题?

编辑:我注意到只有从下一个活动回来时才会出现这个问题。如果用户在同一活动中,那么我可以毫无问题地更改背景。例如,当用户点击取消隐藏列表时,我可以更改操作栏背景。当用户点击按钮显示列表视图时,再次能够执行此操作。

0 个答案:

没有答案