0

在此处输入图像描述

下面的源代码不起作用

    public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_book_page);

             book_page = (EditText) findViewById(R.id.activity_book_page_text);
             book_page.setText("Google is your friend.", TextView.BufferType.EDITABLE);

             book_page.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        book_page.setSelection( 9, 15);
                         //book_page.requestFocus();


                    }
               });

             book_page.setOnFocusChangeListener(new OnFocusChangeListener(){
                    @Override
                    public void onFocusChange(View v, boolean hasFocus){
                        if (hasFocus){
                            book_page.setSelection( 9, 15);
                        }
                    }
                });

 <EditText
        android:id="@+id/activity_book_page_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#00000000"
        android:ems="10"
        android:inputType="textMultiLine"
        android:selectAllOnFocus="true" >

        <requestFocus />
    </EditText>
4

3 回答 3

3

在 .java 文件中使用这段代码:

editText.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        editText.setSelection(0, editText.getText().length() - 1);
    }
}
于 2013-02-25T10:29:22.870 回答
1

使用 xml:

  android:selectAllOnFocus="true"

带代码(选项1):

   yourEditText.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        //((EditText)v).selectAll();
        ((EditText)v).setSelection(startValue, stopValue);
    }
   });

也可以这样尝试:

调用EditText.setSelectAllOnFocus(boolean selectAllOnFocus)以选择焦点上的所有文本。

为您的 EditText 和 onClick 调用设置一个点击监听器edittext.selectAll();

于 2013-02-25T10:32:50.917 回答
1
    editText.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.performLongClick();
        }
    });

EditText默认长按行为是选择已点击的单词,然后拖动选择标记,因此只需调用performLongClick().onClick()

于 2013-04-19T10:59:14.697 回答