2013-02-25 19 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()

相關問題