我有两个活动
- MainActivity
- DetailActivity
我的MainActivity.xml有AppBarLayout和Toolbar元素。在Main Activity.java中,我使用以下代码设置工具栏中的图标:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// setting icon
getSupportActionBar().setIcon(R.mipmap.ic_launcher);
同样的代码在详细活动中无法运行。 详细活动默认有工具栏。我也可以使用以下代码在工具栏中设置标题:
getSupportActionBar().setTitle(String title);
但是,我无法在详细活动中使用以下方法设置图标:
getSupportActionBar().setIcon(R.mipmap.ic_launcher);
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".apod_main"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".apod_detail"></activity>
</application>
构建配置:
Android API 26
Build Tools Version 26.0.1
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.mipmap.ic_launcher);
- omergetSupportActionBar().setDisplayShowHomeEnabled(boolean)
可能会产生NullPointerException
,在使用它之前要执行空指针检查。 - Yupi