2012-02-03 14 views

答えて

4

:コードで

android:selectAllOnFocus="true" 

(オプション1):コードで

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

(オプション2):

yourEditText.setOnFocusChangedListener(new OnFocusChangedListener(){ 
    @Override 
    public void onFocusChange(View v, boolean hasFocus){ 
     if (hasFocus){ 
      //((EditText)v).selectAll(); 
      ((EditText)v).setSelection(startValue, stopValue); 
     } 
    } 
}); 
+0

返信いただきありがとうございます。しかし、それはテキスト全体ではなくランダムにテキストを選択したいということです。私はアンドロイドを使用したいコンテキストメニューの機能を簡単な方法で、テキストを編集してテキストをクリックすると、そのテキストを選択してコピーして貼り付けを依頼します。それを行う方法はありますか?ありがとう – Sidharath

+0

私はちょうど私の答えを更新しました。あなたは特定の選択を行うための開始と終了のint値を提供するかもしれません – waqaslam

0

This答えはあなたがしたい場合は、いくつかのオプションを提供しますすべてのテキストを選択します。

もしそうでなければ、onclicklistenerを使い、EditTextでsetSelectionを呼び出します。

EDIT:

theEditText.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     EditText editText = (EditText)view; 
     editText.setSelection(editText.getText().length()-1); // selects all the text 
    } 
}); 
+0

あなたの答えはあなたの答えmcnichollsありがとう。 edittextのsetSelectionメソッドの使い方の詳細な例を教えてください。私はEditTextクラスを拡張して使用しています。しかし、私はそれをclick.Thanksでテキストを選択するために使用する方法を考えていない。 – Sidharath

+0

すべてのテキストを選択するコードサンプルを追加しましたが、setSelectionパラメータ(このメソッドのいくつかのバージョンがあります)に対して異なるものを提供することによって、選択範囲をカスタマイズできます。 – mcnicholls

0

全く別のアプローチは、あなたのEditTextのonClickハンドラからperformLongClickを呼び出すしようとするだろう。これにより、デフォルトの長いクリック機能を使用できますが、onClickから呼び出すことができます。

theEditText.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     EditText editText = (EditText)view; 
     editText.performLongClick(); 
    } 
}); 
関連する問題