Android 台灣中文網

標題: Android WebView加載HTML表單並通過javascript提交(三) [打印本頁]

作者: 暗桌之光    時間: 2011-7-24 15:24
標題: Android WebView加載HTML表單並通過javascript提交(三)
  1. public class WebViewTest extends Activity {
  2. private WebView mWebView = null;
  3. private TextView txtView = null;
  4. private Handler mHandler = new Handler();
  5. /** Called when the activity is first created. */
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. mWebView = (WebView) findViewById(R.id.webView);
  11. txtView = (TextView) findViewById(R.id.webViewResult);
  12. WebSettings webSettings = mWebView.getSettings();
  13. //不保存密碼
  14. webSettings.setSavePassword(false);
  15. //不保存表單數據
  16. webSettings.setSaveFormData(false);
  17. webSettings.setJavaScriptEnabled(true);
  18. //不支持頁面放大功能
  19. webSettings.setSupportZoom(false);
  20. mWebView.addJavascriptInterface(new LoginJavaScriptImpl(), "loginImpl"); mWebView.setWebChromeClient(new MyAndroidWebClient());
  21. ((Button)findViewById(R.id.btnLoadhtml)).setOnClickListener(new View.OnClickListener() {
  22. public void onClick(View arg0) {
  23. mWebView.loadData(createWebForm(), "text/html", "UTF-8");
  24. // mWebView.loadDataWithBaseURL("", createWebForm(), "text/html", "UTF-8", "");
  25. }
  26. });
  27. }
  28. private String returnValue;
  29. protected final class LoginJavaScriptImpl {
  30. public void login(String username, String password){
  31. returnValue = username + ": " + password; mHandler.post(new Runnable() {
  32. public void run() { txtView.setText(returnValue);
  33. }
  34. });
  35. }
  36. }
  37. private final class MyAndroidWebClient extends WebChromeClient {

  38. @Override
  39. public boolean onJsAlert(WebView view,String url, String message, JsResult result) {
  40. new AlertDialog.Builder(WebViewTest.this) .setTitle("提示訊息") .setMessage(message) .setPositiveButton("確定", new DialogInterface.OnClickListener() {
  41. public void onClick( DialogInterface dialoginterface, int i) { }
  42. }).show();
  43. return true;
  44. }

  45. }
複製代碼

作者: qazxsw444    時間: 2011-11-20 08:05
forthright highlighting
作者: louis5727008    時間: 2012-2-6 14:24
太棒了~有幫助到!感謝~





歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1