在用WebView访问网页时,发现加载的页面里的文本框无法输入内容,而且也不会弹出软键盘,但是输入框里却有光标。在网上搜索说是因为WebView没有得到焦到,调用WebView的requestFocus()方法即可解决。
package com.zwn.webview;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
public class MainActivity extends Activity {
private EditText urlTxt;
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
urlTxt = (EditText) findViewById(R.id.urlTxt);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.requestFocus(); //此句可使html表单可以接收键盘输入
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
public void onOpenWeb(View v){
String url = urlTxt.getText().toString();
webView.loadUrl(url);
}
}