我想从edittext中获取前三个字符,然后将它们转换为字符串,但我无法找到任何相关信息。有什么想法吗?
答案 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);