NullPointerException 和 findViewById() [重复]
Posted
技术标签:
【中文标题】NullPointerException 和 findViewById() [重复]【英文标题】:NullPointerException and findViewById() [duplicate] 【发布时间】:2016-09-11 01:38:29 【问题描述】:注意:这是针对 Stack Overflow 上常见问题的规范问题。
我的 android 应用程序崩溃了。我checked the stacktrace from the logcat 发现原因是在线的NullPointerException
myEditText.setText(myString);
有什么问题,我该如何解决?
【问题讨论】:
@4castle 这个问题更具体。当然,我应该找到一种方法在我的问题中包含指向该问题的链接。 【参考方案1】:请提供有关您的代码的更多详细信息。我认为你没有正确初始化 myEditText
类似这样的:
EditText myEditText = findViewById(R.id.xxx);
【讨论】:
【参考方案2】:你没有初始化 myEditText
对任何 EditText
对象的引用。
请确保初始化它并在正确的位置使用该语句。
【讨论】:
【参考方案3】:记住一件事,当你在任何 findViewById 中得到空指针异常时,只有在 XML 和 java 文件中声明的 id 不匹配或从 java 端说你试图访问甚至没有在 XML 端声明的 Id 时才会发生.
我想说的另一点是您正在使用 setText() 方法并且您正在传递 String 对象现在请记住,如果它是一个空对象并且没有任何值,它也可能产生空指针。
【讨论】:
感谢您的回答。请注意,这不是在这种情况下出现 NPE 的唯一原因。 还有什么原因?你能告诉我吗 请在此处阅读其他答案。【参考方案4】:错误信息表明myEditText
没有被正确初始化。首先,您需要确保您致电findViewById()
。例如
myEditText = findViewById(R.id.text);
如果您已经这样做了,请仔细检查资源 ID 是否与您的活动或片段的 XML 布局文件中声明的资源 ID 匹配。
另外,您可能忘记在活动的onCreate()
方法中调用setContentView()
。
【讨论】:
另外,如果您在致电setContentView
之前尝试获取View
的参考资料
@jDawg 好一个。我会补充的。【参考方案5】:
使用 "" 然后附加你的字符串。它可能是你的 myString 返回 null。
myEditText.setText("" + myString);
【讨论】:
感谢您指出这一点。这实际上是我设计的示例中的一个错误。以上是关于NullPointerException 和 findViewById() [重复]的主要内容,如果未能解决你的问题,请参考以下文章
带有 Fragment 和 ViewPager 的 NullPointerException
使用 Facebook SDK 和 ParseFacebookUtils 登录时出现 NullPointerException
JToggleButton 和意外的 nullPointerException
Oracle UCP 和 NullPointerException
Android:使用 viewModelscope 和 withContext 时不可能出现 NullPointerException