馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
使用android的WebView控件加載HTML表單,通過javascript調用java對像提交表單,在java對像中獲取表單的值:- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.View;
- import android.webkit.JsResult;
- import android.webkit.WebChromeClient;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.widget.Button;
- import android.widget.TextView;
- public class WebViewTest extends Activity {
- private WebView mWebView = null;
- private TextView txtView = null;
- private Handler mHandler = new Handler();
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mWebView = (WebView) findViewById(R.id.webView);
- txtView = (TextView) findViewById(R.id.webViewResult);
- WebSettings webSettings = mWebView.getSettings();
- //不保存密碼
- webSettings.setSavePassword(false);
- //不保存表單數據
- webSettings.setSaveFormData(false);
- webSettings.setJavaScriptEnabled(true);
- //不支持頁面放大功能
- webSettings.setSupportZoom(false);
- mWebView.addJavascriptInterface(new LoginJavaScriptImpl(), "loginImpl"); mWebView.setWebChromeClient(new MyAndroidWebClient());
- ((Button)findViewById(R.id.btnLoadhtml)).setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- mWebView.loadData(createWebForm(), "text/html", "UTF-8");
- // mWebView.loadDataWithBaseURL("", createWebForm(), "text/html", "UTF-8", "");
- }
- });
- }
- private String returnValue;
- protected final class LoginJavaScriptImpl {
- public void login(String username, String password){
- returnValue = username + ": " + password; mHandler.post(new Runnable() {
- public void run() { txtView.setText(returnValue);
- }
- });
- }
- }
- private final class MyAndroidWebClient extends WebChromeClient {
- @Override
- public boolean onJsAlert(WebView view,String url, String message, JsResult result) {
複製代碼 |
|