Android 字符串到 WebView Javascript

Android String to WebView with Javascript

我正在尝试将 Intent 数据获取到已加载的 WebView。
在意图之前,有一个 EditText,我最初使用这些值登录到 myURL 网站,其中 Activity 有 userID 和 userPW(在网站上)的 WebView。

但为了更好的设计,我将 Webview 移动到另一个 activity 并发送 ID,PW 和 Bundle。
问题是字符串变量电子邮件和密码似乎设置得很好,但是当我尝试使用我以前使用的相同代码时,它不能正常工作。

Android 中有没有规定我不能在没有用户输入的情况下直接传递变量?
有人知道如何解决这个问题吗?


下面是我目前卡住的代码

public class MyWeb extends Activity{
WebView webview;
String email;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(activity_myweb);

    Intent intent = getIntent();
    Bundle bundle = intent.getExtras();
    email = bundle.getString("ID");
    password = bundle.getString("PW");

    webview = (WebView)findViewById(R.id.logIn);
    webview.setWebViewClient(new WebClient());
    webview.getSettings().setDatabaseEnabled(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("myURL");

    login(email, password);



}


private void login(String id, String pw){
    webview.loadUrl("javascript: {" +
            "document.getElementById('userID').value = '"+email +"';" +
            "document.getElementById('userPW').value = '"+password+"';" +
            "var a = document.getElementsByTagName('input');" +
            "a[2].CheckSubmit(); };");
    webview.loadUrl("javascript:CheckSubmit()");
}
     webview.setWebViewClient(new WebClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            webview.loadUrl("javascript: {" +
                    "document.getElementById('userID').value = '" + email + "';" +
                    "document.getElementById('userPW').value = '" + password + "';" +
                    "var a = document.getElementsByTagName('input');" +
                    "a[2].CheckSubmit(); };");
            webview.loadUrl("javascript:CheckSubmit()");
        }
    });

已解决,我猜是因为在网页加载之前调用了 JS,认为在此之前的 Activity 在我输入字段时加载了所有页面