Getting weird text back with EditText.toString() method in Android project. Why?

前端 未结 5 492
刺人心
刺人心 2020-12-11 13:08

I appear to have a fundamental gap in my understanding of an EditText object. I have an Activity+Layout with a single EditText object. After I type a few characters into t

相关标签:
5条回答
  • 2020-12-11 13:43

    Passing glance at the API suggests you should use the getText() method. toString() is a general method that applies to Object and all its subclasses (i.e., everything that isn't a primitive, to my knowledge). It's often overridden to supply more useful strings, but by default, it reports something just like what you posted - a sparse description and the object's hashcode. To be clear, the API defines toString() as:

    getClass().getName() + '@' + Integer.toHexString(hashCode())
    
    0 讨论(0)
  • 2020-12-11 13:52

    You are calling toString() on a View Object, which probably does not have a toString() defined.

    I believe you want to call this:

    editText.getText().toString()

    0 讨论(0)
  • 2020-12-11 13:54

    You can't use the 'toString'-method on this, use 'getText().toString()' in stead.

    0 讨论(0)
  • 2020-12-11 13:58

    Take a moment to read the java API: http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#toString%28%29

    toString

    public String toString() Returns a string representation of the object.
    

    In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

    getClass().getName() + '@' + Integer.toHexString(hashCode())
    

    Returns: a string representation of the object.

    0 讨论(0)
  • 2020-12-11 14:02

    Try EditText.getText().toString()

    0 讨论(0)
提交回复
热议问题