前からずっと実現できないなーと思っていたんですが超簡単な方法がありました。
WebChromeClientのonSelectionStartは
328 public void onSelectionStart(WebView view) { 329 // By default we cancel the selection again, thus disabling 330 // text selection unless the chrome client supports it. 331 view.notifySelectDialogDismissed(); 332 }
のような実装になっていて*1、デフォルト動作として「テキスト検索をキャンセルする」ようになっています。
なのでこれをさらに無効化すればいいんですね。
Android: how to select texts from webview - Stack Overflow
webView.setWebChromeClient(new WebChromeClient(){ public void onSelectionStart(WebView view) { } });
なるほどー。
ちなみに onSelectionStart メソッドが追加されたのは GrepCode で見る限り Android 2.3 らしいです。ブラウザのコピー&ペースト機能が搭載されたのはAndroid 2.3からなので当然ですねw