如何从edittext中获取前三个字符?

时间:2014-05-29 03:25:56

标签: android eclipse

我想从edittext中获取前三个字符,然后将它们转换为字符串,但我无法找到任何相关信息。有什么想法吗?

4 个答案:

答案 0 :(得分:10)

要从EditText,TextView,Button等获取文本(几乎任何有文本的View),请调用getText()。这将返回一个CharSequence,它几乎一个String,但不完全,所以要把它变成一个String对象,在它上面调用toString()。然后要获取前3个字母,请使用substring()方法,其中第一个参数是要开始的字符的索引,第二个参数是一个超过所需的最后一个字符。所以你想要前3个字符,它们是索引0,1,2,所以我们必须有3个。

EditText yourEditText = (EditText) findViewById(R.id.your_edit_text);
CharSequence foo = yourEditText.getText();
String bar = foo.toString();
String desiredString = bar.substring(0,3);

此外,在尝试使用字符串时,您可能希望确保用户实际在EditText中放置了一些内容,然后才假定存在并获得NullPointerException。所以我通常以下列方式使用EditTexts。

EditText yourEditText = (EditText) findViewById(R.id.your_edit_text);
String foo = yourEditText.getText().toString();
if(foo.length() > 0) { //just checks that there is something. You may want to check that length is greater than or equal to 3
    String bar = foo.substring(0, 3);
    //do what you need with it
}

答案 1 :(得分:2)

EditText mEditText = (EditText)findViewById(R.id.edit_text);
String mString = mEditText.getText().toString().substring(0,3);

答案 2 :(得分:0)

EditText tEdit = (EditText)findViewById(R.id.edittext);
String text = tEdit.getText().toString();
System.out.println(text.substring(0,3));

答案 3 :(得分:0)

您可以执行以下操作:

mEditText.getText().toString().substring(0,3);