0

EditText から行を取り出してピンと比較しようとしています。正しい PIN である場合は承認済みと表示され、そうでない場合は間違った PIN であると表示されます。1234 を 1234 に等しくすることができません。常に Pin Invalid と表示されます。

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();
}
4

2 に答える 2

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();
    }   
于 2012-08-13T18:48:44.183 に答える
0

使ってみてください

pint.equals("1234")

それ以外の

パイント=="1234"

文字列に!=および==を使用することはできません。これらは、文字列の実際の内容ではなく、参照をチェックします

于 2012-08-13T18:46:05.620 に答える