私の webview では、任意のビューを長くクリックするたびにコンテキスト メニューを開きたいと考えています。
すべてのコンテキスト メニュー関連のコード:-
public void onCreateContextMenu(ContextMenu menu,View view,ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
menu.setHeaderTitle("Options");
menu.add(0,view.getId(),0,"Save File");
menu.add(0,view.getId(),0,"Show URL");
}
/**
* Context menu
*/
public boolean onContextItemSelected(MenuItem item)
{
if(item.getTitle()=="Save File")
{
return true;
}
else if (item.getTitle()=="Show URL")
{myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
myWebView.loadUrl(url);
// Here the String url hold 'Clicked URL'
displayMessage(url);
return false;
}
});
return true;
}
return false;
}
次に、これを onCreate() で実行しています
this.registerForContextMenu(myWebView);
そしてアプリ強制終了。私はここで何か間違ったことをしていますか、私に指摘してください。