2016-07-18 49 views
-4
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"); 
    } 
} 

我得到錯誤顯示爲錯誤與不能解析符號類型 我已經嘗試比較,而不是「等」其他一些預先聲明的字符串但它畢竟是產生同樣的錯誤equals()方法在</p> <pre><code>if(et.equals("ab123")) </code></pre> <p>「等於」不工作

+0

什麼edittext'和'值' et'? – fuzz

+6

刪除在'setContentView(..)'後面的'}'並在最後一行添加它.. – Bharatesh

+0

爲什麼要試圖比較Oncreate中的字符串?在onCreate中,'Editext'是空的。所以它給'嘗試訪問空對象' –

回答

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"); 
     }   
    } 
} 
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"); 
    } 
} 
0

試試這個,我相信這會工作

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"); 
    } 
    } 
} 
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 
     } 
    } 

} 
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"); 
     } 
    } 
} 
0

首先u必須檢查的參考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.