2012-08-13 53 views
0

我試圖從EditText中拉出一行並將其與引腳進行比較。如果它是顯示授權的正確引腳,否則顯示它是錯誤的引腳。我無法讓1234等於1234 - 它總是說Pin無效。從edittext中提取數據並與charsequence進行比較

Context context = this; 
final Dialog dialog = new Dialog(context); 
dialog.setContentView(R.layout.custom_dialog); 
dialog.setTitle("Pin Entry"); 

final EditText pinEntry = (EditText) dialog.findViewById(R.id.pinAuth); 

Button dialogButton = (Button) dialog.findViewById(R.id.dialogButton); 

dialogButton.setOnClickListener(new OnClickListener() 
{ 
@Override 
public void onClick(View v) 
{ 
    CharSequence alertText; 
    int duration = Toast.LENGTH_SHORT; 

    CharSequence pint = pinEntry.getText(); 

    if(pint != "1234") 
    { 
     alertText = "Pin invalid.\nPlease try again."; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
     updateList(); 
    } 

    else if(pint == "1234") 
    { 
     alertText = "Pin authorized"; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
    } 
dialog.dismiss(); 
} 
}); 
dialog.show(); 
} 

回答

1

變化

if(pint != "1234") 
    { 
     alertText = "Pin invalid.\nPlease try again."; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
     updateList(); 
    } 

    else if(pint == "1234") 
    { 
     alertText = "Pin authorized"; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
    } 

if(!(pint.equals("1234"))) 
    { 
     alertText = "Pin invalid.\nPlease try again."; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
     updateList(); 
    } 

    else if(pint.equals("1234")) 
    { 
     alertText = "Pin authorized"; 
     Toast toast = Toast.makeText(context, alertText, duration); 
     toast.show(); 
    } 
0

嘗試使用

pint.equals("1234")

,而不是

品脫== 「1234」

您不能對字符串使用!=和==。這些檢查的參考,而不是字符串的實際內容

相關問題