4

レイアウトにTableLayout動的ビューが追加されています。レイアウトにEditTextカーソルが表示されていないときはいつでもEditText、上にカーソルが表示されEditTextますTextView

onClickイベント、両方の XML ファイル、EdittextおよびTextviewメイン レイアウトの XMLファイルを追加しました。

私のtextview聞き手:

textView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        textView.setSelection(textView.getText().toString().length());
        textView.requestFocus();
        textView.requestFocusFromTouch();
        textView.setCursorVisible(true);
        return false;
    }
});

XML ファイル:

 <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:scrollbars="vertical" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="10dp"
                android:focusable="true"
                android:focusableInTouchMode="false"
                android:text="@string/title_form_details"
                android:textSize="25dp" />

            <TableLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/fieldsContainer"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:scrollbars="vertical"
                android:shrinkColumns="1"
                android:stretchColumns="1" >
            </TableLayout>
        </LinearLayout>
    </ScrollView>

TextViewXML ファイル:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|left"
    android:paddingBottom="0dp"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="5dp"
     />

EditTextXML ファイル:

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/control"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cursorVisible="true"
   android:textColor="#000000"
android:textCursorDrawable="@null"
         />

動的に追加TextViewし、次の行にEdittextビューを追加していますが、をクリックするたびにEditTextカーソルが上に表示されTextViewます。

4

6 に答える 6

4

カーソルの可視性を textview に設定しているため、TextViewに表示されます

コードからこの行を 削除します

textView.setCursorVisible(true);


textView.setOnTouchListener(new OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {
                    textView.setSelection(textView.getText().toString().length());
                    textView.requestFocus();
                    textView.requestFocusFromTouch();
                  //textView.setCursorVisible(true);
                    return false;
                }
            });

可視性をedittextに設定してみてください

    edittext .setCursorVisible(true);
于 2013-09-06T07:45:36.063 に答える
1

onTouchListener内でsetTextIsSelectableを呼び出してみてください

 editText.setOnTouchListener(new OnTouchListener() {
   public boolean onTouch(View v, MotionEvent event) {
                editText.setTextIsSelectable(true);
                return false;
            }
        });
于 2015-04-27T05:55:49.753 に答える
0

edittext に < requestFocus /> を追加してみてください。多分それはうまくいきます。

于 2013-09-06T06:39:42.563 に答える