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
    editText.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.performLongClick();
        }
    });

AnEditTextのデフォルトのロングクリック動作は、タップされた単語を選択してから選択マーカーをドラッグすることなので、 を呼び出すだけperformLongClick()ですonClick()

于 2013-04-19T10:59:14.697 に答える
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 に答える