首页 > 解决方案 > Android Studio 中的条件问题

问题描述

我想检查 2 个编辑文本,如果其中一个是空的,则会出现 toast1 消息,如果它们相同,则会出现 toast2。toast1 确实有效。但是当它们相同或不同时,它显示 toast1 它仍然说其中一个是空的,有我的代码。我需要做什么?

devamButton = (Button) findViewById(R.id.devamButton);
    takimA = (EditText) findViewById(R.id.takimAtext);
    takimB = (EditText) findViewById(R.id.takimBtext);
    textTakimA = takimA.getText().toString();
    textTakimB = takimB.getText().toString();
    devamButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (textTakimB.isEmpty() || textTakimA.isEmpty()) {
                Toast toast1 = Toast.makeText(getApplicationContext(),"team name is empty", Toast.LENGTH_LONG);
            toast1.show();
            }
            else if (textTakimA.equals(textTakimB)) {
                Toast toast2 = Toast.makeText(getApplicationContext(),"cant be same", Toast.LENGTH_LONG);
                toast2.show();
            }
            else {
                Toast toast3 = Toast.makeText(getApplicationContext(),"No problem", Toast.LENGTH_LONG);
                toast3.show();
            }

标签: javaandroidconditional-statements

解决方案


EditText在单击devamButton按钮时而不是之前获取文本。基本上移动这些行:

textTakimA = takimA.getText().toString();
textTakimB = takimB.getText().toString();

方法里面onClick。这样,您将在需要时立即获得 EditTexts 内的文本。正如您所拥有的那样,您在用户甚至有机会输入任何内容之前检查它,因此它们都是空的。


推荐阅读