【问题标题】:Appbar not showing back button [duplicate]Appbar不显示后退按钮[重复]
【发布时间】:2018-06-22 11:36:33
【问题描述】:

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>

活动

创建时

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); 行获取空指针异常;

【问题讨论】:

  • 你有没有看过“如何设置工具栏上的后退按钮?”
  • 过去 1 小时我一直在谷歌上搜索错误并尝试了很多方法......但没有运气......我不确定我哪里出错了
  • 让我再问一次同样的问题,你有没有看过“如何设置工具栏上的后退按钮?”
  • 是的,我有.....
  • 我不是专业的开发人员,但是当我用谷歌搜索这个set toolbar android 时,我发现了这个页面(developer.android.com/training/appbar/setting-up 这是第一个结果),它完美地说明了你所缺少的!

标签: java android exception null toolbar


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:

    您应该将您的工具栏链接到操作栏:

    private void initActionBar() {
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null)
            actionBar.setDisplayHomeAsUpEnabled(true);
    }
    

    【讨论】:

    • 我应该在哪里调用这个方法?
    • 在你的activity的onCreate方法中,就在setContentView之后
    【解决方案3】:

    尝试通过这种方式找回工具栏中的图标

    <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>
    

    【讨论】:

      猜你喜欢
      • 2020-05-22
      • 2018-02-08
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多