2011-08-16 55 views
0

当您长时间按下网页内的文本框时,会出现一个上下文菜单,其中显示了几个选项,例如将文本粘贴到文本框中的功能。如何使用我自己的webview复制此功能?在默认android浏览器中将文本粘贴到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设备中的一个错误,该方法与默认的android行为冲突,以创建文本框的上下文菜单。 – Pete

相关问题