我想在OnClickListener上使用android选择文本功能而不是onlongclicklistener。有没有办法做到这一点?有人可以帮我吗?感谢
答案 0 :(得分:4)
使用xml:
android:selectAllOnFocus="true"
代码(option1):
yourEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//((EditText)v).selectAll();
((EditText)v).setSelection(startValue, stopValue);
}
});
代码(option2):
yourEditText.setOnFocusChangedListener(new OnFocusChangedListener(){
@Override
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus){
//((EditText)v).selectAll();
((EditText)v).setSelection(startValue, stopValue);
}
}
});
答案 1 :(得分:0)
This answer会为您提供多种选择。
如果没有,则使用onclicklistener并在EditText上调用setSelection。
编辑:
theEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
EditText editText = (EditText)view;
editText.setSelection(editText.getText().length()-1); // selects all the text
}
});
答案 2 :(得分:0)
一种完全不同的方法是尝试从EditText的onClick处理程序中调用performLongClick。这可能允许您使用默认的长按功能,但可以从onClick中调用它。
theEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
EditText editText = (EditText)view;
editText.performLongClick();
}
});