2013-02-25 2 views
0

enter image description hereКак выбрать текст одним щелчком мыши в EditText?

Исходный код ниже не работает

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> 
+0

эти вещи являются функциональными функциями по умолчанию android os по умолчанию – itsrajesh4uguys

ответ

3

Используйте этот кусок кода в файле .java:

editText.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     editText.setSelection(0, editText.getText().length() - 1); 
    } 
} 
+0

нормально, я выбираю текст, но я не могу растянуть и выделить больше текста ... что мне делать? –

+0

Просьба уточнить ... что вы подразумеваете под растяжкой и распределением? –

+0

Я хочу выделить слово, а затем тянуть, чтобы выбрать два или три (или более) слова –

1

с XML:

android:selectAllOnFocus="true" 

с c ода (option1):

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();

1
editText.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.performLongClick(); 
     } 
    }); 

по умолчанию EditText «s долго щелкните поведение, чтобы выбрать слово, которое было повернутыми, затем перетащите маркеры выбора, так просто звоните performLongClick() в onClick().

Смежные вопросы