2012-03-05 34 views
0

我是Android新手。我需要根據if條件啓動新的intent活動,但 if條件不起作用,但值會打印在日誌文件中。如果條件不適用於Android意圖活動

package com.example.helloandroid; 

public class Main extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     ImageButton next2 = (ImageButton)findViewById(R.id.imageButton1); 
     next2.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       EditText pin =(EditText)findViewById(R.id.editText1); //value from edit text 

       Log.v("EditText", pin.getText().toString()); //this works in log 

       if (pin.equals(0000)){ 
        Intent myIntent = new Intent(view.getContext(), home.class); 
        startActivityForResult(myIntent, 1); 
       } 
      } 
     }); 
    } 

    @Override 
    public void onBackPressed() { 
     return; 

    } 
} 

回答

2

。您正在比較pin這是EditText而不是字符串到0000這也不是字符串。您想要:

if (pin.getText().toString().equals("0000")) { 
+0

這是迄今唯一正確的答案。 – Squonk 2012-03-05 19:50:18

+0

感謝您的即時回覆..通過您的幫助解決了問題...非常感謝您.. – 2012-03-05 20:00:00

0

你的問題是與條件: 如果(pin.equals(0000))

基本上你是測試: 如果(引腳

,我使用的代碼下面給出.equals(SOME_CONSTANT))

你想要的是:如果 (pin.getText()等於( 「0000」))

+0

「EditText」的'getText()'方法返回'Editable'而不是'String'。在這種情況下,您需要使用'getText()。toString()'。 – Squonk 2012-03-05 19:55:17