我想在用户点击文字时选择(不是全部)文字。
final EditText field = (EditText) findViewById(R.id.edittext);
field.setText("BlaBlaBlaBlaBlaBlaBlaBlaBla");
field.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
field.setSelection(0, 10);
}
}
});
但未选择文字。光标出现在点击位置。
我该怎么做?
更新
为什么“Hello World”应用程序中的简单方法setSelection(start,end)不起作用?
答案 0 :(得分:0)
我找到了不可思议的解决方案。如果我设置 android:selectAllOnFocus =" true" 或以编程方式。
简单的代码段工作正常:
final EditText field = (EditText) findViewById(R.id.edittext);
field.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
field.setSelection(0, 10);
}
}
});
但如果我删除 android:selectAllOnFocus =" true" 或设置 false - 一切都会崩溃。
我不知道为什么!!