проверка, если установлен флажок, editext не является обязательным, и если не отмечен, editext является обязательным - PullRequest
0 голосов
/ 26 сентября 2019

У меня проблема с проверкой флажка и связанного вместе editext. Если флажок установлен, поле editext может быть пустым, а если оно не отмечено, поле editext не может быть пустым

1 Ответ

0 голосов
/ 26 сентября 2019

Поскольку вы не предоставили никакого кода, я написал несколько фрагментов, чтобы объяснить, как вы можете это сделать.

XML

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/checkbox"
    android:layout_gravity="center_horizontal"
    android:text="Check me!"/>
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/edittext"
    android:layout_gravity="center_horizontal"
    android:hint="Edit me!"/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button"
    android:layout_gravity="center_horizontal"
    android:text="Click me!"/>

Java Class

final CheckBox cb = (CheckBox) findViewById(R.id.checkbox);
final EditText et = (EditText) findViewById(R.id.edittext);
final Button bt = (Button) findViewById(R.id.button);

bt.setOnClickListener( new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        if(cb.isChecked()){
            if(et.getText().toString().isEmpty()) {
                Toast.makeText(MainActivity.this, "Checkbox checked and EditText empty", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(MainActivity.this, "Checkbox checked and EditText not empty", Toast.LENGTH_SHORT).show();
            }
        }else{
            if(et.getText().toString().isEmpty()) {
                Toast.makeText(MainActivity.this, "Checkbox not checked and EditText empty", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(MainActivity.this, "Checkbox not checked and EditText not empty", Toast.LENGTH_SHORT).show();
            }
        }
    }
});

Надеюсь, вы можете взять его отсюда.Как видите, для CheckBox и EditText есть 4 разных случая

enter image description here enter image description here enter image description here enter image description here

Имейте в виду, что в моем коде операторы if выполняются при нажатии кнопки, но вы можете проверить по-другому.Независимо от того, как решать каждый отдельный вопрос, решать вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...