为什么我不能通过gettext从edittext访问文本
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(name.getText().toString() != "") {
}
该名称必须声明为最终名称。如果是这样,我将无法运行程序。单击不起作用或应用程序停止。
答案 0 :(得分:0)
将您的 EditText和Button声明为全局,并初始化
在Java中,当在两个对象上使用==时,您实际上并没有在比较字符串本身。您需要使用.equals(String)或.equalignorecase(String)。
==实际上是比较两个对象的引用,而不是它们的值。
string1.equals(字符串目标)根据字符串中的实际字符比较两个字符串。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(name.getText().toString().equalsIgnoreCase("")) {
}
答案 1 :(得分:0)
必须在onCreate方法中将其声明为final,而不是在onCreate方法之上以消除所有错误。
答案 2 :(得分:-1)
将您的编辑文本声明为最终或全局。
此外,您切勿使用!=
进行字符串比较。容易出错。更改:
if(name.getText().toString() != "")
至:
if(!name.getText().toString().equals(""))
,或者在此特定情况下,因为您真正关心的是字符串不为空,因此可以使用:
if(!name.getText().toString().isEmpty())