2012-08-13 49 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”

您不能对字符串使用!=和==。这些检查的参考,而不是字符串的实际内容

相关问题