- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我面临着在 getSupportActionBar() 中获取 null 的问题,在 Activity 中将工具栏设置为 actionbar 并从 supportActionBar 以编程方式设置后退按钮时,我得到的异常是,
Attempt to invoke virtual method 'void android.app.ActionBar' on a null object reference
这是 Activity 的 xml View ,工具栏包含在另一个布局中
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar_ftp"
android:id="@+id/include" />
<fragment
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" />
<RelativeLayout
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">
<TextView
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"/>
<RelativeLayout
android:id="@+id/rl_cal_pick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txt_search_date"
>
<ImageView
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"/>
<RelativeLayout
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">
<TextView
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=""/>
<ImageView
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"/>
</RelativeLayout>
</RelativeLayout>
<TextView
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"
/>
<TextView
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"/>
</RelativeLayout>
</RelativeLayout>
这里是 toolbar_ftp.xml 文件
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
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">
<ImageView
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ftp_home_logo"
tools:ignore="ContentDescription" />
</android.support.v7.widget.Toolbar>
这是工具栏代码
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
最佳答案
你好尝试改变你的应用的主题风格
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorPrimary</item>
<item name="android:textColor">@color/black</item>
<item name="android:actionOverflowButtonStyle">@style/ActionButtonOverflow</item>
</style>
关于android - getSupportActionBar() 在调用 setDisplayHomeAsUpEnabled() 时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46314730/
有人建议我从 ActionBarActivity 扩展我的 Activity 类 这是之前的代码: import android.support.v7.app.ActionBar; import an
任何人都请帮助我,我是 ActionBar 的新手 如何为 API 7 调用 getSupportActionBar(),在我的 Activity 类中我无法调用 getSupportActionBa
这个问题在这里已经有了答案: How do I change the background color of the ActionBar of an ActionBarActivity using
这是我的代码: package com.greenwichdancestudio.greenwichdance; import java.util.ArrayList; import java.uti
我知道这个问题已经发布了很多次,但即使我尝试了很多来自 Stack Overflow 的解决方案,我仍然无法解决。 import android.support.v4.app.FragmentActi
在我开始第二个 Activity 后,没有 ActionBar。当我调用 GetSupportActivity 时,它返回 null。为什么?我有 minSdkVersion 10 和 targetS
在 onCreate() Activity 方法中,我有用于 ToolBar 的代码: toolbar = (Toolbar) findViewById(R.id.tool_bar); setSupp
所以,我有这个小 Activity ,我想添加一个后退按钮(标准箭头一)我在这里搜索答案,发现了这个小代码: public class PozosFluyentes extends AppCompat
我正在尝试在我的应用程序上播放 YouTube 视频。我知道这可以通过将 Activity 扩展为 YouTubeBaseActivity 来实现,这样做我无权访问我的工具栏。 mActionBar
我正在学习使用滑动菜单库。到目前为止,我可以使用带有 2 个 fragment 的 viewpager。但我无法使用操作栏选项卡来导航这些 fragment 。这是我的代码 @Override pub
我正在尝试使用 ActionBarSherlock 库在旧设备中使用操作栏。我的应用程序在 Android(4.2-真实设备) 上运行。但是,当我尝试在 Android 2.3.4 上运行的旧版 Ga
我正在尝试制作一个抽屉导航,但我在 getSupportActionBar() 部分遇到了问题。它显示 - 无法解析方法“getSupportActionBar()”。我不知道为什么。请有人帮助我。下
这是我的代码: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ //android.support.v7.app.Ac
我正在尝试在我的应用程序上播放 YouTube 视频。我知道这可以通过将 Activity 扩展为 YouTubeBaseActivity 来实现,我无权访问我的工具栏。 mActionBar = (
这件事让我抓狂。我似乎无法让我的应用程序正确编译。我通过复制 jar 文件,将它们放入 libs 文件夹,右键单击并将它们添加为库,在我的应用程序中添加了支持库。 我已尝试扩展 ActionBarac
首先,我知道这个问题之前已经被问过,我花了一个小时查看其他解决方案,大部分来自 - getActionBar() returns null ,但没有一个有效,因此另一双眼睛也许能够做一些事情。 其他类
我正在使用 Android Studios,但是,我无法添加以下两种方法,因为它说它无法解析它们。 getSupportActionBar().setDisplayHomeAsUpEnabled(t
我正在从我的根 Activity 中启动一个新 Activity (TVMPDFActivity)。我正在使用 Android 注释,所以这就是我启动 Activity 的方式: TVMPDFActi
我正在使用 getSupportActionBar().setIcon(R.drawable.ic_transparent); 来设置工具栏的图标。如何从该图标获取 ImageView?我需要图标的
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 5 年前。 我正在尝试在我的 Android
我是一名优秀的程序员,十分优秀!