我刚开始使用Java和Android。这个网站对我帮助很大。
在这里,我很容易陷入困境。在其他语言中,我从来没有遇到过问题,但那里......
如果我尝试以下操作,我在eclipse上没有错误,但是一旦在模拟器中运行,软件就会在“if”行崩溃。
String message = mOutEditText.getText().toString();
if (message.length() > 4) {
如果我使用 if(8> 4){,那么我没有问题。
我也试过if (message.toString.length() > 4) {
但没有成功。
感谢您的帮助。
答案 0 :(得分:4)
在不知道错误的情况下很难说,但是这一行唯一可能出错的是NullPointerException
,即当你遇到这个问题时,原因是:
String message = mOutEditText.getText().toString();
有效地解决了:
String message = null;
这很可能是因为您的EditText
中没有任何文字(来自您的变量名称,我猜您使用的是EditText
)。
您可以通过检查message
不是null
来解决此问题。这是一种方法:
if (message != null && message.length() > 4) {
答案 1 :(得分:0)
例如,您将消息初始化为静态字符串,如“堆栈溢出”并尝试
message.length();
如果有效,则toString()函数没有问题。
祝您好运.. !!
答案 2 :(得分:0)
字符串有两种获取字符串长度的方法: - 这是正常工作
String message =“”; protected void onCreate(Bundle savedInstanceState){s.length();}