我试图检查editText条件。在下面的代码中,我声明了一个setOnClickListener方法来检查editText的条件。如果条件为真,我想打印吐司信息,更改活动并输出声音。如果条件失败,它应该举报一条消息。在这两种情况下,如果它的真实与否,它只打印我" Incorect"无论editText是否正确。
我做错了什么?
public void next(View v){
final MediaPlayer correctSound = MediaPlayer.create(this, R.raw.correctsound);
Button playCorrectSound = (Button) this.findViewById(R.id.angry_btn1);
final EditText editTextt = (EditText) findViewById(R.id.editText);
playCorrectSound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editTextt.setVisibility(View.INVISIBLE);
if(editTextt.getText().toString() == "string")
{
Toast.makeText(getApplicationContext(), "Correct", Toast.LENGTH_SHORT).show();
correctSound.start();
Intent i = new Intent(Hereuu.this, MainActivity.class);
startActivity(i);
} else {
Context context = getApplicationContext();
CharSequence text = "Incorect";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
editTextt.setVisibility(View.VISIBLE);
}
});
}
答案 0 :(得分:0)
答案 1 :(得分:0)
我建议你参加一些基本的JAVA课程。那将极大地帮助你。
目前,问题在于检查字符串是否相等。您不使用==
字符串,而是使用String#equals()
方法。所以,
更改
editTextt.getText().toString() == "string"
到
editTextt.getText().toString().equals("string")
答案 2 :(得分:0)
确保将java中的字符串与atoms
而不是.equals
进行比较。使用if语句:
==
答案 3 :(得分:0)
就像每个人都说的那样,你
基本上,当您使用==
运算符时,您正在检查对象的引用是否相同/等于。使用.equals(String)
时,该方法会检查内容。
提示:
当您使用Strings
时,请记住避免NullPointerException情况。因此,您应该写"constant".equals(editTextValue)
而不是editTextValue.equals("constant")
下面的链接将帮助您了解String对象和字符串内容的工作原理:
问候