Does EditText.getText().getLength() return 0 when

2019-09-04 23:54发布

问题:

I have some code, but it is not working as expected. My logic doesn't seem to be faulty, so I think it is an implementation error. My code:

public boolean[] party_check(){
        Date date_ET = new Date(party_dateET.getYear(), party_dateET.getMonth(), party_dateET.getDayOfMonth());///Date is deprecated,
        ///but easy to handle
        ///this is used to test the date contained in the datepicker, party_dateET. If it is before the day today, then it will not write,
        ///and a message is displayed

        boolean[] return_array = new boolean[4];
        ///EditText party_titleET;
        ///EditText party_timeET;
        ///EditText party_dateET;
        ///EditText party_venueET;
        return_array[0] = true;
        if(party_titleET.getText().length() == 0){
            return_array[1] = false;
            return_array[0] = false;
        }else{
            return_array[1] = true;
        }
        if(date_ET.before(Calendar.getInstance().getTime()) == true){
            return_array[2] = false;
            return_array[0] = false;
            ///tests that the date entered is not invalid, ie. is in the future.
            ///not test for time. I could say that if time == 00:00, then don't run, or use a listener to check if it has changed,
            ///using a boolean value. But this would not really benefit the task much, so I haven't. It would also
            ///take more coding, and more complex coding.
        }else{
            return_array[2] = true;
        }
        if(party_venueET.getText().length() == 0){
            return_array[3] = false;
            return_array[0] = false;
        }else{
            return_array[3] = true;
        }
        return return_array;
        ///return_array[0] - 1st value in array - is used as toggle as to whether the party is ready or not.
        ///return_array[1-4] are used to indicate to the user which textbox is empty/ has a problem.



    }

However it does not do what I expect it to do when I return the boolean array. This is used for testing whether the user has entered a text value into the EditText's. However it does not work as expected. Is my logic faulty, or I have implemented it wrong? Thanks for the help!!

回答1:

The hint does not get returned, when you use getText(). You can use getHint() though.



回答2:

Text and Hint are different properties.
So the Text will be empty, if the hint is shown.

Let's say that the hint is a "dress" for the text (not to let it "naked"), but it's not the text itself.