如何从EditText OnClickListener动态选择文本?

时间:2012-02-03 11:57:42

标签: android android-widget

我想在OnClickListener上使用android选择文本功能而不是onlongclicklistener。有没有办法做到这一点?有人可以帮我吗?感谢

3 个答案:

答案 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();
    }
});