应用栏不显示后退按钮

时间:2018-06-22 11:36:34

标签: java android exception null toolbar

XML

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/black">
    <TextView
        android:id="@+id/name"
        android:textColor="@color/white"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20dp"/>
    </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>

活动

OnCreate

getActionBar().setDisplayHomeAsUpEnabled(true);

onOptionsItemSelected

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        // Respond to the action bar's Up/Home button
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}

在getActionBar()。setDisplayHomeAsUpEnabled(true);行上获取空指针异常。

3 个答案:

答案 0 :(得分:0)

您应该将工具栏链接到actionBar:

private void initActionBar() {
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null)
        actionBar.setDisplayHomeAsUpEnabled(true);
}

答案 1 :(得分:0)

尝试一下

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

答案 2 :(得分:0)

尝试通过这种方式获取工具栏中的图标

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/black">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorAccent"
            android:paddingLeft="15dp"
            android:paddingRight="15dp">

            <android.support.v7.widget.AppCompatImageView
                android:id="@+id/imgBack"
                android:layout_width="@dimen/_35sdp"
                android:layout_height="@dimen/_35sdp"
                android:layout_centerVertical="true"
                android:foreground="?android:attr/selectableItemBackground"
                android:padding="@dimen/_5sdp"
                android:src="@drawable/ic_arrow_back_black" />

            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/white"
                android:textSize="20dp" />
        </RelativeLayout>
    </android.support.v7.widget.Toolbar>