AndroidでWebViewを他のViewと同じ画面に配置する時

しばしはまったのでメモ。

Androidで、WebViewを他のViewと同じ画面に配置するような時、他のTextViewなどにフォーカスがいったん移ると、WebView部分をタッチしても、入力ボックスなどにフォーカスが移動しなくなってしまいます。

これを回避するためには、

WebView wv = (WebView) findViewById(R.id.webview);
wv.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
v.requestFocus(View.FOCUS_DOWN);
return false;
}
});

のように、WebViewがタッチされたらrequestFocusすると再び入力ボックスなどにフォーカスがあたり、文字入力が出来るようになります。

こちらの記事もどうぞ