android setaction,关于android:getsetActionActionBar()在调用setDisplayHomeAsUpEnabled()时返回null...

我面临在getSupportActionBar()中获取null的问题,

当在活动中将工具栏设置为动作栏并通过supportActionBar以编程方式设置后退按钮时,我得到的例外是,

Attempt to invoke virtual method 'void android.app.ActionBar' on a null object reference

这是活动的xml视图,工具栏包含在另一个布局中

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/include" />

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/mapView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:name="com.google.android.gms.maps.SupportMapFragment"

android:layout_below="@+id/include"

android:layout_alignParentStart="true" />

android:layout_alignParentBottom="true"

android:id="@+id/below_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:paddingBottom="16dp"

android:background="@color/white">

android:layout_below="@+id/line11"

android:id="@+id/txt_search_date"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="18sp"

android:layout_margin="16dp"

android:text="@string/search_by_Date"/>

android:id="@+id/rl_cal_pick"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/txt_search_date"

>

android:id="@+id/icon_secheudel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignTop="@+id/rlBoxtime"

android:layout_alignBottom="@+id/rlBoxtime"

android:src="@mipmap/ic_clock_red"

android:tint="@color/colorPrimary"/>

android:id="@+id/rlBoxtime"

android:layout_toRightOf="@+id/icon_secheudel"

android:background="@drawable/blue_out_line"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:paddingLeft="5dp"

android:paddingRight="3dp"

android:paddingTop="3.5dp"

android:paddingBottom="3.5dp"

android:layout_marginLeft="0dp">

android:id="@+id/txt_chosen_date"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="5dp"

android:minWidth="30dp"

android:text=""/>

android:layout_width="20dp"

android:layout_height="20dp"

android:layout_toRightOf="@+id/txt_chosen_date"

android:layout_centerVertical="true"

android:src="@mipmap/ic_calendar_schedule"

android:tint="@color/colorAccent"

android:layout_marginRight="2.5dp"/>

android:id="@+id/btn_tommorow"

android:text="@string/tommorow"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAllCaps="false"

android:gravity="center"

android:layout_alignTop="@+id/rl_cal_pick"

android:layout_alignBottom="@+id/rl_cal_pick"

android:layout_toRightOf="@+id/tvTOday"

android:textColor="@color/colorAccent"

android:padding="5dp"

android:background="@drawable/blue_out_line"

style="@style/borderless_blue_text_button"

/>

android:id="@+id/tvTOday"

android:text="@string/today"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAllCaps="false"

android:gravity="center"

android:padding="5dp"

android:layout_marginLeft="10dp"

android:layout_alignTop="@+id/rl_cal_pick"

android:layout_alignBottom="@+id/rl_cal_pick"

android:layout_toRightOf="@+id/rl_cal_pick"

android:textColor="@color/colorAccent"

android:background="@drawable/blue_out_line"

android:layout_marginRight="8dp"/>

这是toolbar_ftp.xml文件

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/white"

android:fitsSystemWindows="true"

android:minHeight="?attr/actionBarSize"

app:theme="@style/ThemeOverlay.AppCompat.Light">

android:layout_width="200dp"

android:layout_height="40dp"

android:layout_gravity="center"

android:scaleType="centerInside"

android:src="@drawable/ftp_home_logo"

tools:ignore="ContentDescription" />

这是工具栏代码

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

getSupportActionBar().setDisplayShowHomeEnabled(true);

getSupportActionBar().setDisplayShowTitleEnabled(false);

是片段还是活动?

stackoverflow.com/questions/30681918/

@Anil活动

@Ankita我在问之前尝试了问题的答案,很遗憾,这个问题没有解决

检查我在下面发布的答案。

我尝试了此处发布的所有解决方案,不过,我还是遇到了崩溃。 后来我发现了问题,这是因为在xml视图的include语句中提供了一个附加ID。

android:id="@+id/include" />

引用工具栏时,id中的id变得模棱两可。

嗨,尝试更改您的应用程序的主题样式

@color/colorPrimary

@color/colorPrimaryDark

@color/colorPrimary

@color/black

@style/ActionButtonOverflow

ActionButtonOverflow在哪里?

如果您使用的是AppcompatActivity,请尝试以下操作:

this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);

如果您使用的是ActionBarActivity,请尝试以下操作:

this.getActionBar().setDisplayHomeAsUpEnabled(true);

我已经做到了,我已经在该问题上发布了该代码段

在大多数情况下,此问题可能是由您的主题引起的。 再次检查它,并确保它是Theme.AppCompat.Light.DarkActionBar的父级。

true

true

...

如果您的活动扩展了AppCompatActivity或ActionBarActivity,则必须调用getSupportActionBar()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值