2013-02-25 13 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操作系统的默认功能的 – itsrajesh4uguys 2013-02-25 10:29:23

回答

3

使用这段代码在你的java文件:

editText.setOnClickListener(new View.OnClickListener() { 

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

好的,我选择的文本,但我不能伸展和分配更多的文本...我该怎么办? – 2013-02-25 11:01:21

+0

请详细说明......你的意思是拉伸和分配? – 2013-02-25 11:04:36

+0

我想突出显示一个单词,然后选择两个或三个(或更多)单词 – 2013-02-25 11:10:28

1

使用XML:

android:selectAllOnFocus="true" 

与c ODE(选项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();

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

EditText的默认长点击行为是选择已经挖掘了字,然后拖动选择标记,所以才onClick()请致电performLongClick()

相关问题