当前位置: 首页 > 知识库问答 >
问题:

OnActivityCreated/OnStart/OnViewCreated方法中getView()上的NullPointerException警告

陆寒
2023-03-14
datpurchased = (EditText) getView().findViewById(R.id.datepurchased); 
//datpurchased defined as instance variable in the class

方法调用'get view().findviewbyid(r.id.datePurchased)'可能会生成'java.lang.NullPointerException'

共有1个答案

裴焱
2023-03-14

Android Studio基于IntelliJ思想,这是IntelliJ的一个特性,当您在编译时没有检查方法返回的对象是否为null时,它会给您警告。

避免这种情况的一种方法是采用总是检查null或捕获nullpointerexception样式的程序,但它可能非常冗长,尤其是对于您知道总是返回对象而从不返回null的内容。

另一种选择是使用诸如@suppresswarnings之类的注释来禁止这种情况下的警告,这些注释用于使用您知道永远不能为null的对象的方法:

@SuppressWarnings({"NullableProblems"})
public Object myMethod(Object isNeverNull){
    return isNeverNull.classMethod();
}

或者,在您的情况下,行级抑制:

//noinspection NullableProblems
datpurchased = (EditText) getView().findViewById(R.id.datepurchased); //datpurchased defined as instance variable in the class

但是,请确保这些对象永远不能为空。

关于Intellij的@NotNull和@Nullable注释的更多信息可以在这里找到,关于检查和压缩它们的更多信息可以在这里找到。

 类似资料:
  • 问题内容: 你能解释一下方法吗。 我阅读了文档,它具有三个参数: :项目在我们想要其视图的项目的适配器数据集中的位置。 :如果可能,请重用旧视图。注意:使用前,应检查此视图是否为非null并具有适当的类型。如果无法转换此视图以显示正确的数据,则此方法可以创建一个新视图。 异构列表可以指定其视图类型的数量,以便此View始终具有正确的类型(请参见getViewTypeCount()和getItemV

  • 我是android/java编程新手,对如何正确处理这个警告感到困惑。 方法调用“”可能会生成“Java”。lang.NullPointerException' 任何帮助都将不胜感激。

  • 方法调用“Get AbsolutePath”可能产生“NullPointerException” 并且忽略文件

  • 我在TestNG套件中的MyListener类的@OnStart方法中调用了一个参数化方法() 下面是我编写的参数化方法,它实际上需要一个XML文件存储的路径。 在下面看到的这个TestNG套件中,我需要调用上面的方法传递一个参数,然后它才能继续运行在其他类中编写的测试。 通过这一点,我打算限制TestNG套件读取特定的config.xml文件,该文件将在执行测试之前设置自己的值,如Env、URL

  • 问题内容: 有人可以告诉我参数在类的方法中用于什么吗? 这是从此处获取的示例代码: 我们应该经过什么? 我发现的是,从这里获取: 获取一个在数据集中指定位置显示数据的视图。您可以手动创建视图,也可以从XML布局文件中对其进行充气。当视图膨胀时,父视图(GridView,ListView …)将应用默认布局参数,除非您使用inflate(int,android.view.ViewGroup,bool