从onClicklistener中的edittext的gettext在android中不起作用

时间:2019-06-11 11:09:03

标签: android onclicklistener

为什么我不能通过gettext从edittext访问文本

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(name.getText().toString() != "") {
            }

该名称必须声明为最终名称。如果是这样,我将无法运行程序。单击不起作用或应用程序停止。

3 个答案:

答案 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())