在android中读取edittext失败
我用java编写了一个代码,它应该通过单击按钮从在android中读取edittext失败,android,android-edittext,Android,Android Edittext,我用java编写了一个代码,它应该通过单击按钮从EditText中获取一个数字,然后在控制台中打印出来。这很简单,但是当我单击EditText以便在其中写入一个数字时,我在logcat中看到这条消息 : 点击按钮后什么也没发生 这是我代码的一部分: EditText txt1=(EditText)findViewById(R.id.editText1); Editable t1; t1=txt1.getText(); i
EditText
中获取一个数字,然后在控制台中打印出来。这很简单,但是当我单击EditText以便在其中写入一个数字时,我在logcat
中看到这条消息
:
点击按钮后什么也没发生
这是我代码的一部分:
EditText txt1=(EditText)findViewById(R.id.editText1);
Editable t1;
t1=txt1.getText();
if(!(t1.toString().equalsIgnoreCase("0") || t1.toString().equalsIgnoreCase("null"))){
int n1 = Integer.parseInt(t1.toString());
int m1 = n1/100000;
System.out.print(n1);
System.out.print(m1);
}
如果有人能帮助我,我会很高兴:)当你比较
字符串时,你应该在字符串上使用equals()
类
如果有人遇到与我相同的问题,请确保此警告没有问题:
注意点!也许你做了一些像我一样有趣的事:
System.out.print(n1);
System.out.print(m1);
我通过使用println
更改print
解决了我的问题。。。。
这么简单;-)试试这个
EditText editText=(EditText) findViewById(R.id.editText1);
String text = editText.getText().toString();
if( text!=null && !text.equalsIgnoreCase("0") ) {
int num1 = Integer.parseInt(text);
int num2 = num1/100000;
Log.d(TAG, "Num1 " + num1);
Log.d(TAG, "Num2 " + num2);
}
因此,我在单击“编辑文本”时收到消息“,我认为问题与java代码无关……不是吗?您正在测试t1
String
是否等于String
null
。这就是你想要的吗?我认为您正在尝试查看字符串
对象
t1
是否为null
,在这种情况下,您可以使用常规比较进行测试。(即t1.toString()!=null
)很抱歉,我再次编辑了我的代码,在“if”表达式的开头添加了“!”,但它无法再次解决问题…什么也没有发生!:(为什么要这样做?这是您想要的逻辑的一部分吗?是的,这正是我想要的,我只想在不等于0的情况下打印数字…标记只是可以设置为标识消息的任何字符串-private static final string TAG=“EditTextActivity”;
System.out.print(n1);
System.out.print(m1);
EditText editText=(EditText) findViewById(R.id.editText1);
String text = editText.getText().toString();
if( text!=null && !text.equalsIgnoreCase("0") ) {
int num1 = Integer.parseInt(text);
int num2 = num1/100000;
Log.d(TAG, "Num1 " + num1);
Log.d(TAG, "Num2 " + num2);
}