6

EditText 駆動のウィジェットを使用してアプリケーションを作成しています。独自のコピー & ペースト メニューを作成したいと考えています。EditText の Android デフォルト メニューを置き換えるには、どうすればよいですか? ロングクリックをオーバーライドするだけですか?または実装する別の方法はありますか?前もって感謝します。

4

2 に答える 2

2

EditText では、コンテキスト メニューが有効になっている必要があります。そうでない場合は、registerForContextMenuを呼び出して有効にする必要があります。コンテキスト メニューを有効にしたら、項目を追加する必要があります。これは、 Menu.add メソッドの 1 つを使用してonCreateContextMenuで行われます。

難しいのは、ユーザーがオプションを選択した後にonContextItemSelectedのコードを記述することです。テキストをクリップボードに保存するには、 を呼び出すだけ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText("myText");です。ただし、最初にコピーするテキストを見つける必要があります。この最後の部分はまだ理解していませんが、すぐに解決できることを願っています。

関連する質問

于 2010-05-28T02:36:20.443 に答える
1

メニューシステムを上書きし、自分でメニュー項目を作成し、独自の内部バッファを作成することによって、難しい方法でコピー/貼り付けを実装することは、やや標準的な演習であると考えられています。

ただし、プラットフォームでより良い方法が利用できる場合、それは行われるべき方法ではありません。プラットフォーム機能の再実装は、学習には適していますが、保守には適していません。

これは本当の答えではないため、コミュニティ Wiki を参照してください。

于 2010-02-09T05:01:13.940 に答える