1
**UPDATE**

途中で実装した後、テキストコントロールをキャンセルできますが、ジンジャーブレッドバージョンまでです。このゼリーでは、キーコードの組み合わせは機能しませんでした。この例でも試しましたが、新しいバージョンでキーイベントを手動でディスパッチすることはできません。

ビューページャーにウェブビューがあります。ユーザーはウェブビューをロングクリックするとウェブビューからテキストをコピーできますが、問題は、ユーザーがウェブビューをロングクリックすると、選択したテキスト領域のビューにカーソルが表示され、右/左に移動してからビューページャーも移動することです。これを克服するために、ロングクリックでviewpagerページング変更イベントを無効にしました。これは機能します。

これを有効にし、Webビューでハイライトテキストをクリア/選択解除してテキストのコピープロセスをキャンセルするには、解決策が見つかりませんでした。

ここで画像を確認してください

ここに画像の説明を入力してください

編集済み

右/完了ボタンをクリックするように、このプロセスをプログラムでキャンセルする方法を知っている人はいますか?

これは、Webビューのロングクリックでのテキストのコード開始選択です

public void SelectText(View v) {
    try {
        KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
                KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
        shiftPressEvent.dispatch(v);
    } catch (Exception e) {
        throw new AssertionError(e);
    }
}

プログラムでこの選択をキャンセル/却下し、ライトニングテキストをクリアする方法を説明します。

上記のコードでACTION_UPを使用して同じコードを試しましたが、これを知っている人は誰もいませんか?

前もって感謝します

4

1 に答える 1

0

キャンセルの場合

私はこれをしました

public void SelectText(View v) {
    try {
        KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
                KeyEvent.KEYCODE_ESCAPE, 0, 0);
        shiftPressEvent.dispatch(v);
    } catch (Exception e) {
        throw new AssertionError(e);
    }
}

これはジンジャーブレッドバージョンでは機能しましたが、4.0バージョンでは機能しませんなぜこれが機能しないのかわかりませんが、方法も見つけようとします

ありがとうございました

于 2012-11-24T11:19:17.660 に答える