1

アプリの起動時に、「メニュー」をクリックして「テキストの編集」を選択するまで、ユーザーが編集できないテキストを EditText 内にロードしました。初期の xml は次のようになります。

<EditText
    android:id="@+id/myTextBox"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:cursorVisible="true"
    android:gravity="top"
    android:inputType="none"
    android:textIsSelectable="true"
    android:scrollbars="vertical"
    android:maxLines="1"
     />

ユーザーが「テキストの編集」を選択した後、再度編集可能にするにはどうすればよいですか? 私はコードで以下をやってみました:

_mytextBox.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
_mytextBox.setTextIsSelectable(false);

しかし、キーボードは二度と表示されません。xml から textIsSelectable を削除して android:inputType="textMultiLine" を使用すると、思いどおりに動作します。

追加情報: 言い忘れましたが、ユーザーが内部のテキストを選択して「コピー」できるようにしたいので、無効化/有効化の方法は使用できません。また、無効にするとテキストが暗くなります..これは私が望むものではありません。ありがとう!

_mytextBox.setTextIsSelectable(false); を呼び出すことを期待していました。すべてを正常にリセットしますが、そうではありません..バグのようですか?この問題に関連している可能性があります: https://code.google.com/p/android/issues/detail?id=27609

4

4 に答える 4