equals()不起作用

时间:2016-07-18 05:50:21

标签: java android string equals

package com.example.life.bluebell;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;

public class login extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);
   }
   EditText edittext = (EditText) findViewById(R.id.editText);
   String et = edittext.getText().toString();
   if(et.equals("ab123"))
   {
       System.out.println("asdfg");
   }
}

我在

收到错误
if(et.equals("ab123"))

'equals'显示为错误,无法解析符号类型 我试过比较一些其他预先声明的字符串而不是'et',但它仍然生成相同的错误

6 个答案:

答案 0 :(得分:0)

public class login extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);
      init();
  }

  private void init() {    
       EditText edittext = (EditText) findViewById(R.id.editText);
       String et = edittext.getText().toString();
       if(et.equals("ab123")) {
          System.out.println("asdfg");
       }         
  }
} 

答案 1 :(得分:0)

OnCreate()方法中写下以下内容:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    EditText edittext = (EditText) findViewById(R.id.editText);
    String et = edittext.getText().toString();
    if(et.equals("sss"))
    {
        System.out.println("asdfg");
    }
}

答案 2 :(得分:0)

试试这个,我相信这会起作用

List<SomeClass> outputList = [{a,b,c,57.55},{d,e,f,62.66},{g,h,i,60.23},{j,k,l,47.69}];

答案 3 :(得分:0)

使用onCreate()方法范围内的比较代码。在java中,不允许在方法或实例块之外的操作或类中的静态块之外执行操作。

修改自己的代码,如:

package com.example.life.bluebell;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;

public class login extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);

      EditText edittext = (EditText) findViewById(R.id.editText);
      String et = edittext.getText().toString();
      if(et.equals("ab123"))
      {
          Log.d("Myactivity","asdfg");
          //system out will not be of much use and will only print on console. Use log instead to see output in Logcat
      }
   }

}

答案 4 :(得分:0)

尝试将此代码放在某些方法中,例如

public void getData(){
EditText edittext = (EditText) findViewById(R.id.editText);
   String et = edittext.getText().toString();
   if(et.equals("ab123"))
   {
       System.out.println("asdfg");
   }
}

并且不要在getData()中调用此onCreate(), 在一些Button点击操作中调用它,如下所示

cButton.setOnClickListener(new OnClickListener() {              
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                getData();
            }
        });

您的完整代码就像

public class login extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);

      Button cButton = (Button) findViewById(R.id.custom_button);
      cButton.setOnClickListener(new OnClickListener() {                
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                getData();
            }
        });
   }
   public void getData() {
       EditText edittext = (EditText) findViewById(R.id.editText);
       String et = edittext.getText().toString();
       if(et.equals("ab123")) {
           System.out.println("asdfg");
       }
   }
}

答案 5 :(得分:0)

首先你必须检查参考editText是否正确,然后按照下面的代码,

    public class login extends AppCompatActivity {
       @Override
       protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_login);

          checkValue();

       }

    public void checkValue()
    {
       EditText edittext = (EditText) findViewById(R.id.editText);
       String et = edittext.getText().toString().trim();
       if(et.contentEquals("ab123")) // if(et.equalsIgnoreCase("ab123"))
       {
           System.out.println("asdfg");
       }
    }
    }

    It will help u.