[Android] TextViewでテキストを選択+コピーしますか?


Answers

テキストビューを有効、フォーカス可能、longClickable、textIsSelectableにする必要があります

        <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:id="@+id/pwTextView"
    android:enabled="true"
    android:textIsSelectable="true"
    android:focusable="true"
    android:longClickable="true" />
Question

TextViewでテキストを選択/コピーできるようにする方法はありますか? コントロールを長押ししてselect all / copyのポップアップオプションを取得できるEditTextと同じ機能が必要ですが、コントロールがTextViewのように見えるようにする必要があります。

EditTextにeditable = "none"オプションやinputType = "none"を使用するようないくつかのことを試してみましたが、それらはEditTextの枠付きの背景を保持していますが、

ありがとう

-------更新----------------------

これは99%です。私が望むのは、選択のハイライトが見えるようにするだけです(オレンジ色のもの)。 それ以外にも、それは良いことですが、これでも生きることができます:

<EditText 
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:editable="false"
  style="?android:attr/textViewStyle"
  android:textColor="@color/white"
  android:textAppearance="@android:style/TextAppearance.Medium"
  android:cursorVisible="false"
  android:background="@null" />

私はそれがcursorVisible = "false"のために発生していると思いますが、カーソルが存在していなくても何も選択されていなくても存在します。







私は同じことを実装しようとしている、あなたの質問は私のeditextレイアウトを正しく設定するのに役立ちました。 ほんとありがと! :)

カーソルがオンになっていると、ハイライトが実際に見えるようになりました。 しかし、私は長い間テキストをクリックする前にカーソルを見たくないので、あなたのようにlayout.xmlファイルにカーソルを隠し、長いクリックのためのeventlistenerを追加して、選択が始まるときだけカーソルを表示します。

したがって、onCreateセクションのアクティビティにリスナーを追加します。

public TextView htmltextview;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ...

    htmltextview.setOnLongClickListener(new OnLongClickListener(){

        public boolean onLongClick(View v) {
            htmltextview.setCursorVisible(true);
            return false;
        }
    });

}

また、最初はカーソルがなく、長押しするとカーソルが選択範囲に表示されます。

私が助けてくれることを願う。

乾杯、fm