EditText值是否为空?

问题描述 投票:0回答:1

我有3个EditText,用户必须从中输入任何1值,其他两个值将自动设置为null。如果用户输入2个值,则第3个值应自动设置为null。我正在使用以下方法,有人在打印所有值时可以帮助我解决我做错的事情。

public class Land_details extends AppCompatActivity {

     String edit1,edit2,edit3;

    String new_edit1,new_edit2,new_edit3;

    Edittext land_edit1,land_edit2,land_edit3;



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



        land_edit1= findViewById(R.id.land_edit1);
        land_edit2= findViewById(R.id.land_edit2);
        land_edit3= findViewById(R.id.land_edit3);
        edit_button= findViewById(R.id.edit_button);

        edit_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Check_all_data();


            }
        });

    }


    @Override
    protected void onResume() {
        super.onResume();
    }


    public TranslateAnimation shakeError() {
        TranslateAnimation shake = new TranslateAnimation(20, -20, 0, 0);
        shake.setDuration(150);
        shake.setInterpolator(new CycleInterpolator(4));
        return shake;
    }


    private boolean validate_edit1() {
        edit1= land_edit1.getText().toString().trim();
        if (edit1.isEmpty()) {
            land_edit1.startAnimation(shakeError());

            land_edit1.requestFocusFromTouch();
            land_edit1.setError("Enter detail ");
            return false;
        } else {
            land_edit1.setFocusable(false);
        }
        return true;
    }


    private boolean validate_edit2() {
        edit2= land_marla_edit.getText().toString().trim();
        if (edit2.isEmpty()) {
            land_edit2.startAnimation(shakeError());

            land_edit2.requestFocusFromTouch();
            land_edit2.setError("Enter Detail");
            return false;
        } else {
            land_edit2.setFocusable(false);
        }
        return true;
    }


    private boolean validate_edit3() {
        edit3= land_edit3.getText().toString().trim();
        if (edit3.isEmpty()) {
            land_edit3.startAnimation(shakeError());

            land_edit3.requestFocusFromTouch();
            land_edit3.setError("Enter Acre ");
            return false;
        } else {
            land_edit3.setFocusable(false);
        }
        return true;
    }

    private void Check_all_data() {
        if (validate_edit1() || validate_edit2() || validate_edit3()) {

 if ( edit1 != null  || edit2 != null || edit3 !=null) {
                    new_edit1= land_edit1.getText().toString();
                    new_edit2= land_edit2.getText().toString();
                    new_edit3= land_edit3.getText().toString();
                       Log.i("edit11", String.valueOf(new_edit1));
                    Log.i("edit21", String.valueOf(new_edit2));
                    Log.i("edit31", String.valueOf(new_edit3));

                }


            Intent inms = new Intent(Land_details.this, Register2Activity.class);
            startActivity(inms);
            overridePendingTransition(R.anim.from_right, R.anim.slide_to_left);
            finish();            Toast.makeText(this, "Waitng to upload", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "ERRRORR", Toast.LENGTH_LONG).show();
        }

    }

如果我在EditTexts 1和2中输入值,则打印日志已更新

    2020-05-20 10:55:09.968 30567-30567/com.example.agridept I/edit11: 54
2020-05-20 10:55:09.968 30567-30567/com.example.agridept I/edit21: 80

为什么在Log中不将第三个值设为null?

android android-edittext
1个回答
0
投票

您无法使用日志显示null。例如;

Log.d("Hey I'm null",null);

不会显示任何内容,因为您无法打印null。首先,您应该了解null的一件事不是空白或空白对象。

如果要检查是否为null,请使用类似这样的条件,

if(edtText.getText().toString()==null)
 Log.d("Hey this edittext is null","No value");
© www.soinside.com 2019 - 2024. All rights reserved.