【发布时间】:2019-12-01 21:48:43
【问题描述】:
我正在尝试使用我的 Native Activity 中的 Intent 传递一个字符串,并在我的 WebActivity 类中检索它,如下所示:
final String username = getIntent().getStringExtra("USERNAME");
之后,我试图调用一个 Javascript 函数,该函数将使用 DOM 操作将 text 输入的值更改为 Intent 中的 username 值。我的问题是:
这可行(硬编码值称为“test”):
myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = 'test';})();");
这不是(试图将其设置为我的意图值):
myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = "+username+";})();");
我假设我可能错误地包装了 username 值,但是以我现在的方式使用它根本不会修改文本输入。
【问题讨论】:
-
我对 JavaScript 了解不多,但是您缺少第二个 sn-p 中值周围的单引号;即
...value = '"+username+"';})();" -
我试过了,但它设置为
null -
那么,这似乎表明 JavaScript 正在工作。放置或获取额外的只是一个问题,或者你可能只是在那里传递了一个空值。
-
我想通了。这都是我的错。当我创建
Intent时,我调用了startActivity()函数在调用putExtra()函数 -
但是感谢您澄清缺少的单引号,这也是我错过的。
标签: javascript java android string android-studio