将编辑文本中的数据与if语句中的数据进行比较

时间:2015-08-15 18:46:52

标签: android android-edittext

我正在制作一个测验应用。用户必须完成显示屏上显示的短语并在按下按钮后在edittext中写入汽车的名称,如果答案权限,edittext变为绿色,如果没有,则变为红色。如果所有答案都是正确的(绿色),则意图继续进行下一个活动。

如果语句编辑文本变成红色,即使答案是正确的,我也有一些困难。如果可以的话,如何让INTENT继续进行下一个活动,如果没有,它会移动吗?

public class MainActivity extends AppCompatActivity {

EditText et_one_one, et_one_two, et_one_three;
Button buttonCheck;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    et_one_one = (EditText) findViewById(R.id.et_one_one);
    et_one_two = (EditText) findViewById(R.id.et_one_two);
    et_one_three = (EditText) findViewById(R.id.et_one_three);

    final String t1 = et_one_one.getText().toString();
    final String t2 = et_one_two.getText().toString();
    final String t3 =  et_one_three.getText().toString();

    buttonCheck = (Button) findViewById(R.id.buttonCheck);

    buttonCheck.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
               if (t1.equals("maserati")){
                et_one_one.setBackgroundColor(Color.GREEN);
            }
            else {
                et_one_one.setBackgroundColor(Color.RED);
            }
            if (t2.equals("mercedes")){
                et_one_two.setBackgroundColor(Color.GREEN);
            }
            else{
                et_one_two.setBackgroundColor(Color.RED);
            }
            if (t3.equals("bmw")){
                et_one_three.setBackgroundColor(Color.GREEN);
            }
            else{
                et_one_three.setBackgroundColor(Color.RED);
            }
        }
    });
}

}

1 个答案:

答案 0 :(得分:1)

您在if else语句中每次只更改et_one_one的颜色。不应该用于不同的edittexts吗?

buttonCheck.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        boolean allAnswersCorrect = true;
        String t1 = et_one_one.getText().toString();
        String t2 = et_one_two.getText().toString();
        String t3 =  et_one_three.getText().toString();
        if (t1.equals("maserati")){
            et_one_one.setBackgroundColor(Color.GREEN);
        }
        else {
            allAnswersCorrect = false;
            et_one_one.setBackgroundColor(Color.RED);
        }
        if (t2.equals("mercedes")){
            et_one_two.setBackgroundColor(Color.GREEN);
        }
        else{
            allAnswersCorrect = false;
            et_one_two.setBackgroundColor(Color.RED);
        }
        if (t3.equals("bmw")){
            et_one_three.setBackgroundColor(Color.GREEN);
        }
        else{
            allAnswersCorrect = false;
            et_one_three.setBackgroundColor(Color.RED);
        }
        if(allAnswersCorrect){
            Intent intent = new Intent(YourActivity.this, YourSecondActivity.class);
            startActivity(intent);
        }
    }
});

维护allAnswersCorrect布尔值以检查您的答案是否正确。如果一切正确,请转到下一个活动。