getSupportActionBar().setDisplayHomeAsUpEnabled(true)
提供了NullPOinterException
,在我尝试了
AppComatActivity
),Theme.AppCompat.Light
,Theme.Holo.Light
)和getSupportActionBar()
,getActionBar()
)我知道这个问题已被多次询问,但请相信我,他们的解决方案都不适合我。
我只是想为我的儿童活动设置“向上”按钮。
我在Childife的Manifest文件中设置了以下内容
android:parentActivityName="com.example.sony.myfirstapplication.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.sony.myfirstapplication.MainActivity"
/>
并在我的子活动中使用以下代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_message);
//receive message
Intent intent = getIntent();
TextView txt = (TextView) findViewById(R.id.text_msg_show);
String msg = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
txt.setText(msg);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); //Gives NullPointerException
}
清单文件中的主题:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
Style.xml文件中声明的样式: -
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
我继承了AppCompatActivity
而非ActionBarActivity
答案 0 :(得分:2)
您应首先设置工具栏:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
setSupportActionBar.setDisplayHomeAsUpEnabled(true);
答案 1 :(得分:0)
既然你说它没有 CRASH ,那么只需在该行上方添加@SuppressWarnings("null")
。
否则,请添加:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
第一