textout.getText() 导致“可能产生'java.lang.NullPointerException'”消息
Posted
技术标签:
【中文标题】textout.getText() 导致“可能产生\'java.lang.NullPointerException\'”消息【英文标题】:textout.getText() is leading to a "may produce 'java.lang.NullPointerException'" messagetextout.getText() 导致“可能产生'java.lang.NullPointerException'”消息 【发布时间】:2016-09-27 17:23:27 【问题描述】:public class MainActivity extends AppCompatActivity
public void one (View view)
EditText textout=(EditText)findViewById (R.id.textView);
Double amount = Double.parseDouble(**textout.getText()**.toString());
Double amountOne= amount + 1;
textout.setText(**amountOne.toString()**);
第一个问题是getText()
方法导致了一个
可能会产生'java.lang.NullPointerException
消息。
第二个是amountOne.toString()
导致一个
数字格式不考虑区域设置。考虑改用 String.format
有人可以帮我解决这些问题吗?
【问题讨论】:
这些是来自 android Studio 的警告。您可以选择对它们做些什么,也可以忽略它们。 但应用程序正在关闭且无法运行 好的,在这种情况下,您可以发布导致问题的活动以及堆栈跟踪吗? 听起来 IDE 给了你很好的建议。这些概念并不难理解,因此我建议搜索其中的每一个术语以进一步澄清。 问题已解决(与笔记无关) 【参考方案1】:在onCreate()
方法中编写如下代码
EditText textout = (EditText)findViewById(R.id.textView);
【讨论】:
【参考方案2】:检查textout
是否为null
:
if (textout != null)
textout.setText(String.format(Locale.getDefault(),"%f", amountOne);
如果您只需要 1 个小数位,请使用 %.1f
而不是 %f
。 %.2f
代表 2 个小数位,以此类推。
【讨论】:
以上是关于textout.getText() 导致“可能产生'java.lang.NullPointerException'”消息的主要内容,如果未能解决你的问题,请参考以下文章
Release库与Debug库混用导致释放堆内存时产生异常的详细分析
Spring Joint 2D(可能)导致 transform.position 错误