按钮可能会产生空指针异常(Android Studio)

2024-02-10

我是 Android Studio 的新手,我以为我做得还不错,但昨晚遇到了一个错误,尽管我尽了最大的努力,但我似乎无法修复该错误。我的一项活动上的按钮“可能会产生 java.lang.NullPointerException”,但每次按下它时都会失败。这可能只是简单的事情,比如在错误的地方订购一行代码等,但我对 Android studio 很陌生,我真的不知道我哪里出错了。

   public class searchPage extends AppCompatActivity {

    private GoogleApiClient client;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search_page);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Button goBackButton = (Button) findViewById(R.id.goBackButton);

    goBackButton.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {

            startActivity(new Intent(searchPage.this, MainActivity.class));
        }
     });

这是 XML

 <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/goBackButton"
    android:layout_marginTop="88dp"
    android:layout_below="@+id/spinner4"
    android:layout_centerHorizontal="true"
    />

和清单文件

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.onein.mobilefinalapp">

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".searchPage"
        android:label="@string/title_activity_search_page"
        android:theme="@style/AppTheme.NoActionBar" />

    <activity
        android:name=".MoviePage"
        android:label="@string/title_activity_movie_page"
        android:theme="@style/AppTheme.NoActionBar"></activity>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
 </application>

 </manifest>

这是activity_search_page.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="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

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

 <include layout="@layout/content_search_page" />

 <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_dialog_email" />

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

如果您需要任何其他信息,请告诉我。

非常感谢任何帮助!谢谢。

编辑 - 删除重复按钮,并添加到activity_search_page.xml


方法调用“setOnClickListener”可能会产生“java.lang.NullPointerException”较少...

此检查分析方法控制和数据流,以报告始终为真或假的可能条件、其值被静态证明为恒定的表达式以及可能导致可空性合约违规的情况。

这只是一个warning因为findViewById将返回null如果在布局中找不到给定的 id。

如果您确定 id 在您正在使用的布局中,您可以安全地忽略它,或者您可以使用断言忽略它(并且可能是@Nullable注解)。

View v = findViewById(R.id.someId);
assert v != null;
v.setOnClickListener(...);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按钮可能会产生空指针异常(Android Studio) 的相关文章

  • java“类文件包含错误的类”错误

    我正在尝试制作一个控制台应用程序来测试我的网络服务 我成功部署了一个网络服务http localhost 8080 WS myWS http localhost 8080 WS myWS我用 wsimport 制作了代理类 wsimport
  • 如何使用java避免Mysql数据库中的“数据因列被截断”?

    在我的 Java 程序中 Hibernate Bean 类定义一列 例如 TimtableVO java Column name REPEAT DAYS private WeekdayType repeatDays hear Weekday
  • AIX:IBM Java:java.net.SocketException:连接超时:可能是由于地址无效

    当尝试与我们的服务器建立 SSL 连接时 我们在 IBM AIX 上经常看到以下异常 java net SocketException Socket closed at com sun net ssl internal ssl SSLSoc
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • 使用 Mockitos 传递参数化输入

    我正在使用 Mockito 进行单元测试 我想知道是否可以使用 Junit 测试中的方式发送参数化输入参数 e g InjectMocks MockClass mockClass new MockClass Test public void
  • 在同一台计算机上设置 JBoss 的多个实例

    我在 JBoss 社区中找到了下一页 http www jboss org community wiki ConfigurePorts http www jboss org community wiki ConfigurePorts 有下一
  • Java 8 Stream - 为什么过滤器方法不执行? [复制]

    这个问题在这里已经有答案了 我正在学习使用java流进行过滤 但是过滤后的流没有打印任何内容 我认为过滤器方法没有被执行 我的过滤代码如下 Stream of d2 a2 b1 b3 c filter s gt s startsWith b
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • Java 中的可迭代求和?

    有没有一个库可以做到这一点 public class Iterables private Iterables public static
  • Admob - 没有广告可显示

    你好 我尝试制作一些在 Android 手机上显示广告的示例程序 并尝试在 v2 2 的模拟器上测试它 代码中的一切似乎都很好 但调试器中的 AdListener 表示 响应消息为零或空 onFailedToReceiveAd 没有广告可显
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • RecyclerView元素更新+异步网络调用

    我有一个按预期工作的回收视图 我的布局中有一个按钮可以填充列表 该按钮应该进行异步调用 根据结果 我更改按钮的外观 这一切都发生得很好 但是 当我单击按钮并快速向下滚动列表时 异步调用的结果会更新新视图的按钮 代替旧视图的视图 我该如何处理
  • Java applet 是否会违反同源策略

    我需要请求一些东西并从其他域获取信息 我知道由于同源政策 javascript 无法做到这一点 我的另一个选择是通过我的服务器发出代理请求 我不希望请求来自我的服务器的 IP 也不想为我的服务器创建额外的负载 并且希望客户端这样做 是否可以
  • Spring 和 Hibernate 连接池

    如何使用 Spring 和 Hibernate 配置连接池 Thanks Venu 您可以使用 DBCP 组件
  • Android:列“_id”不存在

    我收到这个错误 IllegalArgumentException 列 id 不存在 当使用SimpleCursorAdapter从我的数据库中检索 该表确实有这个 id柱子 注意到这是一个常见问题 我尝试根据网上的一些解决方案来解决它 但它
  • android-如何在谷歌地图上将标记的位置显示为地址

    我已经尝试过 commonsware googlemapsv2 教程 特别是在地图上拖动标记 但现在另一个问题困扰着我 问题是如何将标记的当前位置显示为地图下方或上方的地址 字符串 这是我使用的代码 public class MainAct
  • Android 中带有无尽列表视图滚动的 AsyncTask

    我正在创建一个应用程序 其中我需要有无限的滚动列表视图 我不想在我的应用程序中使用任何库 我在网上看到了一些有助于实现此类列表视图的示例 但我的疑问是 当我的数据来自服务器并在异步任务中进行解析时 如何才能拥有无尽的列表视图 如何从滚动异步

随机推荐

  • clojure——本地覆盖“+”、“*”等运算符的正确方法

    重写 这样的方法的正确方法是什么 现在我有 defn x y replacement x y 但这会导致命令行上出现警告 WARNING already refers to clojure core in namespace
  • 在 Android 上保存 OAuth 客户端凭据的位置

    我有一个通过 OAuth 安全性与 WebAPI 交互的 Android 应用程序 为了获取访问令牌 我需要在请求标头中发送 OAuth 凭据 即客户端 ID 和客户端密钥 我的问题是 我应该在哪里保存这两个值 客户端 ID 和客户端密钥
  • 如何使用arduino从sim900模块的RTC读取日期和时间数据?

    include SIM900 h include
  • XML 架构创建错误 - JAXB 正在做什么?

    我正在开发一个涉及简单 Web 服务的项目 并且已经有很多little https stackoverflow com questions 2195034 server side xml validation with cxf webser
  • 使用 git tfs 合并两个 TFS 分支

    我在用着git tfs 我想知道是否可以使用合并两个 TFS 分支git tfs 我有两个分支 MyCompany Dev 和 MyCompany Release 3 3 Release 3 3 源自 Dev 分支 两者都使用 git tf
  • 在 CakePhp 测试中,testAction() 函数在 debug() 上返回 null

    我试图学习如何在 CakePhp 中使用单元测试 我正在尝试编写控制器测试 我读到了有关 testAction 和 debug 函数的信息 但它对我不起作用 我的意思是 测试方法通过了 但 debug 返回 null 因为 testActi
  • 如何将 MPI 派生数据类型用于 3D 数组?

    我想编写一个适用于 3D 矩阵的并行代码 其中每个进程都有自己的子矩阵 但为了完成其工作 它们需要一些有关相邻进程子矩阵的信息 只是边界平面 我通过点对点通信发送这些信息 但我知道对于大型矩阵来说这不是一个好主意 因此我决定使用派生数据类型
  • Linux:如何在fork上将文件描述符标记为不可继承? [复制]

    这个问题在这里已经有答案了 是否可以在子进程中将特定文件描述符标记为不可继承或关闭它fork 被调用 不会 所有文件描述符都是在 fork 中继承的 但是 您可以将 fd 设置为在 exec 上关闭 方法是使用fcntl fd F SETF
  • 双指针如何用于二维矩阵?

    我正在通过实施康威的生命游戏来尝试 C 语言 我正在尝试动态构建两个网格 int矩阵 一个用于当前 一个用于下一代 因此在确定下一代的样子后 我只需交换指针 起初 我绝望地尝试定义指向网格的指针 例如int grid 您不能使用第二组括号作
  • 如何对 pandas 列中的列表执行 One Hot Encoding?

    假设我有一个数据框 其中一列是一个列表 未知值和长度 例如 df pd DataFrame messageLabels Good Other Bad Bad Terrible 我遇到了这个解决方案 但这不是我正在寻找的 如何最好地将包含列表
  • IE 11 找不到运行 Applet 的 Java 插件

    我使用 Java Applets 构建了应用程序 它在带有 IE 9 的 Windows 7 上运行良好 现在我正在尝试将其移动到另一个环境 有互联网浏览器 11 运行我正在使用的小程序Oracle 部署工具包脚本 http docs or
  • 为什么我们应该使用DataTemplate.DataType

    当我创建资源时 我们指定其中的数据类型
  • 源代码中字符串文字的字符编码问题

    logstring Invoke Command ComputerName filesServer ScriptBlock param logstring grp Klassenbuchordner KB grp Gruppe Gruppe
  • 使用 webpack 定义全局变量

    是否可以使用 webpack 定义一个全局变量来产生如下结果 var myvar 我看到的所有示例都使用外部文件require imports jquery file js 有几种方法可以处理全局变量 1 将变量放入模块中 Webpack
  • android中变量的全局声明

    我是android开发的新手 我正在通过SAX解析器解析xml文件并将解析的数据存储到字符串中 现在我需要在另一个类中使用该字符串 所以我需要知道如何在新类中调用该解析器 提前致谢 我总是创建一个包含所有全局变量的类 并将其称为 Const
  • OpenCV 中的照明标准化

    我正在做一个人脸识别项目 我有不同光照的图片 所以我需要进行光照标准化 我读了一篇声称可以进行照明归一化的论文 本文描述了以下功能和值 1 伽玛校正 伽玛 0 22 高斯差分 DOG 过滤 sigma 0 1 sigma 1 2 3 对比度
  • 如何使用函数创建二维数组?

    我正在尝试定义一个二维数组 但我想在函数中执行它 这是我的代码 int createArray int columns int rows int array rows for int i 0 i lt rows i array i new
  • 在 Fortran 中逐行读取逗号分隔的文本文件

    我是一名 Fortran 新手 我希望能够读取文本文件并将其内容保存在各个变量中 我发现了一个非常有用的 Fortran 教程 http www math hawaii edu hile fortran fort7 htm read htt
  • 向多个用户发送 Firebase 通知

    我正在尝试通过 Firebase 发送通知 但它不起作用 我只想将 Firebase ID 发送给所有注册用户 并将其存储在 MySQL 中 EDIT 这是下面的代码
  • 按钮可能会产生空指针异常(Android Studio)

    我是 Android Studio 的新手 我以为我做得还不错 但昨晚遇到了一个错误 尽管我尽了最大的努力 但我似乎无法修复该错误 我的一项活动上的按钮 可能会产生 java lang NullPointerException 但每次按下它