4

サーバーから HTML ページを取得する WebView を使用しています。HTML ページは私の管理下にありません。それは何でもかまいません。WebView を使用してロードするサーバーから URL を取得するだけです。問題は次のとおりです。一部のWebページでは、送信ボタンとリセットボタンで一連の質問を受けています。たとえば、送信ボタンとリセット ボタンを備えた TextView を用意します。Textbox にフォーカスすると、Go ボタンでキーボードが開きます。また、ユーザーが [Go] ボタンを押すと、フォーム データが送信されますが、これは望ましくありません。そのための [送信] ボタンがありますが、[実行] ボタンで同じことを行う必要があるのはなぜですか。

私はいくつかのことを試しました: - GOボタンを無効にする(不可能だと思います) - GoボタンをEnterに置き換えます(運が悪い) - Goキーを押す(運が悪い)

基本的に、キーボードからGoボタンを無効/削除したい場合。

誰でもこれに対する可能な解決策を提供できますか。

前もって感謝します。

4

4 に答える 4

1

アクション ボタンを非表示にできませんでした。ただし、その機能は簡単に変更できます。

public class MyWebView extends WebView
{
    public MyWebView(Context context) { super(context); }

    @Override public InputConnection onCreateInputConnection(EditorInfo ei) {
        return new MyConnection(super.onCreateInputConnection(ei));
    }

    private class MyConnection extends InputConnectionWrapper
    {
        public MyConnection(InputConnection wrapped) { super(wrapped, false); }

        @Override public boolean performEditorAction(int action) {
            // do what you want
            return true;
        }
    }
}
于 2013-07-23T05:49:55.987 に答える
1

WebView は時代遅れであり、レンダリングに AbsoluteLayout を使用しています。これは、API V3 からずっと前に廃止されました。ここを参照してください。

唯一の方法は、ソフトキーボードをカスタマイズすることだと思います.

以下のリンクを参照してください。

于 2013-06-21T04:55:36.180 に答える
1

あなたのウェブビューを持っているアクティビティについては、Menifest.xml ファイルの次のトリックをチェックしてください。

<activity android:name="..."
   ...
   android:imeOptions="actionSend|flagNoEnterAction"
   ...
</activity>
于 2013-07-23T05:42:41.900 に答える
-1
android:imeOptions="actionDone"

これを editText の XML に追加すると、単にキーボードを閉じる「完了」ボタンに置​​き換えられます。フォームはまったく続行されません。

于 2012-12-27T14:59:24.293 に答える