2011-08-16 26 views
0

デフォルトのアンドロイドブラウザでは、ウェブページ内のテキストボックスを長押しすると、テキストをテキストボックスに貼り付けるなどのいくつかのオプションを示すコンテキストメニューが表示されます。この機能を自分のwebviewでどのように複製するのですか? ウェブページにテキストを貼り付ける

私は、Androidのソースコード内のコンテキストメニューの作成を扱う特別のコードを見て、これを見つけた:

 @Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 

     ... 

     WebView.HitTestResult result = webview.getHitTestResult(); 
     int type = result.getType(); 
     if (type == WebView.HitTestResult.EDIT_TEXT_TYPE) { 
      // let TextView handles context menu 
      return; 
     } 

     ... 

    } 

何のコードが意味することはそのとき「EDIT_TEXT_TYPE」上のユーザロングプレスすなわちです。テキストボックス、webviewは何もしません。いくつかの魔法の "TextView"がコンテキストメニューを処理します。今私は迷っています、私はどのように私のwebviewに表示するこのコンテキストメニューを取得するのですか?

答えて

1

registerForContextMenu()を試しましたか?私はそれがListViewで確かに動作することを知っているが、それはまた他のビューで動作します。

それはこのような何かに行く必要があります。

registerForContextMenu(yourWebView); 

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 

     //Code for "Paste"; 

    } 

は、この情報がお役に立てば幸い!

+0

あなたが正しい方向に私を指摘して以来、私はあなたに答えを与えるでしょう。私はonCreateContextMenuメソッドのHTCデバイスのバグを回避するコードをいくつか持っていましたが、これはデフォルトのアンドロイドの動作と競合し、テキストボックスのコンテキストメニューを作成します。 – Pete

関連する問題