【发布时间】:2026-02-12 22:05:01
【问题描述】:
所以我为我的应用创建了一个片段。在片段中,我通过 xml 文件(其 id 为 myText)创建了一个 EditText 字段。现在,在这个片段的 Java 类中,我正在使用以下命令创建对这个文本字段的引用:
EditText myText = (EditText) getView().findViewById(R.id.myText);
但是,我收到关于此声明的警告:
Method invocation `getView().findViewById(R.id.myText)' may produce 'java.lang.NullPointerException'.
另外,当我运行该应用程序时,它会由于相同的NullPointerException 而提前终止。除了不使用片段外,我做了完全相同的事情(也就是说,我在我的主要活动的 xml 文件中创建了一个 EditText 字段)并使用以下命令在 Java 文件中创建了对它的引用:
EditText myText = (EditText) findViewById(R.id.myText);
而且效果很好。
所以我的问题是,为什么这在第二种情况下有效,而不是在第一种情况下?我如何使它在第一种情况下工作?
【问题讨论】:
-
这个问题不是重复什么是空指针异常,我该如何解决?。这是关于获取
View的纯Android 问题,而不是关于尚未初始化的变量。 我正在投票重新打开它。 -
@DamianKozlak,看这里:*.com/questions/6495898/findviewbyid-in-fragment
-
你还觉得不重复吗? ;-)
-
@piotrek1543 请仔细阅读我写的内容。通过将问题标记为重复,您必须链接已经回答的问题。问题什么是空指针异常,我该如何解决? 由 Hrundi 标记不包含答案,它直接回答了 James Bond 的问题。您提供的链接更好,这些链接可能会链接在这篇文章的顶部,在 This question already have an answer here 下: text :)
标签: java android xml android-studio