0

我想将我的应用程序的徽标放在屏幕顶部的操作栏中。当前显示的是默认的绿色 android 启动器图标。

在此处输入图像描述

我尝试了以下方法,但没有看到任何变化:

我进入我的清单文件并更改了 android:icon 代码...

 <application
    android:allowBackup="true"
    android:logo="@drawable/logo"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

这不起作用,所以我在我的代码中创建了一个 ActionBar 对象并使用了 setIcon 方法。

ab.setIcon(R.drawable.logo);

但是,上面的代码行会生成以下运行时错误:

**java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.waitronproto3/com.example.waitronproto3.MainActivity}:java.lang.NullPointerException **

任何人都可以看到为什么会发生这种情况,资源 R.drawable.logo 存在,因为我可以在文件夹中看到它,并且在 IDE 中没有生成错误。

任何帮助深表感谢。

4

2 回答 2

1

android:logo是的,据我所知没有财产。你不能只创建一个ActionBar......你用过这个吗?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(...);
    getActionBar().setLogo(R.drawable.logo)`
}
于 2013-01-04T18:16:11.673 回答
0

一切都是正确的,只是我忘记了对 ActionBar 的引用。下面的代码解决了这个问题。

ab = this.getActionBar();
    ab.setIcon(R.drawable.logo);
于 2013-01-04T18:25:56.047 回答