Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AndroidX Android Studio 3.5.2将actionbar标题设置为空_Android - Fatal编程技术网

AndroidX Android Studio 3.5.2将actionbar标题设置为空

AndroidX Android Studio 3.5.2将actionbar标题设置为空,android,Android,我正在尝试使用导航抽屉布局设置活动的标题。然而,我得到下面的错误。事实上,android的前一个版本可以很好地使用类似的代码 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.app.ActionBar.setTitle(java.lang.CharSequence)” 位于com.aua.archi.app.MainActivity.onCreate(MainActivity.java:26) 我不确定这里出了什么问题,安卓S

我正在尝试使用导航抽屉布局设置活动的标题。然而,我得到下面的错误。事实上,android的前一个版本可以很好地使用类似的代码

java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.app.ActionBar.setTitle(java.lang.CharSequence)” 位于com.aua.archi.app.MainActivity.onCreate(MainActivity.java:26)

我不确定这里出了什么问题,安卓Studio 3.5.2的
AndroidX
和材质设计组件是否有任何变化

JAVA XML

工具栏

试试这个

<androidx.appcompat.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    />
并将文本设置为工具栏

toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setText("asdfsdf");

堆栈跟踪与代码不匹配
getSupportActionBar()
将不会返回
android.app.ActionBar
,我看不到您在哪里调用
setTitle()
。无论如何,我只假设这些是来自不同测试运行的旧日志,并且您当前正在运行给定的代码和XML。您的问题将是您在
元素上设置的ID。它会覆盖包含布局中根视图上的ID,因此您的
MaterialToolbar
最终会显示ID
toolbar\u布局,并且
findViewById(R.ID.toolbar)
将返回空值。请从
中删除ID,或者将
findViewById()
调用改为传递
R.ID.toolbar\u布局
。@MikeM。我刚读了第二条评论。让我试试看,然后再告诉你。非常感谢。@MikeM。设置
toolbar\u布局
for
toolbar
后,解决了该问题。我想我需要设置实际的工具栏id,而不是包括布局。谢谢。我不知道如何解决这个问题,或者删除它,或者像这样保留它?我已经把它作为一个副本关闭了,因为它是一个相当常见的问题,所以它基本上被标记为已解决,就像这样。这完全取决于你,你想保留还是删除它。不管怎样,很高兴你能成功。干杯
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.MaterialToolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.MaterialComponents.Toolbar.Primary"
    tools:targetApi="lollipop" />
<androidx.appcompat.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    />
import androidx.appcompat.widget.Toolbar;
private Toolbar toolbar;
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setText("asdfsdf");