javascript - 如何使用 Javascript 更改 EditText 内容?

标签 javascript android html android-edittext

我们有一个 HTML 格式的按钮。当用户点击它时,我的特定 EditText 的值应该改变,但它没有。

代码:

class ActivityTest extends Activity {

    TextView textView1;

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);

        WebView webView = (WebView) findViewById(R.id.webView);
        webView.loadUrl("file:///android_res/raw/htmlimages.html");
        webView.addJavascriptInterface(new MyTest(), "Scripts");
        webView.getSettings().setJavaScriptEnabled(true);
        textView1 = (TextView) findViewById(R.id.textView1);
    }


    public class MyTest {

        void setText(String string) 
        {
            textView1.setText(string);
        }
    }
}

最佳答案

假设您的 html 部分是正确的,您需要做的一件事是在主线程上调用 ui。

所以你的代码:

void setText(String string) 
{
   textView1.setText(string);
}

应该是

@JavascriptInterface
public void setText() {
  runOnUiThread(new Runnable() {            
     @Override
     public void run() {
        textView.setText("Testing text");       
     }
  });       
}

关于javascript - 如何使用 Javascript 更改 EditText 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23509579/

相关文章:

javascript - 将两个 forEach 转换成 map

javascript - 使用 jQuery 切换宽度和高度

javascript - 如何使用javascript更改具有同一类的多个div的宽度?

javascript - jquery 无法正确读取 PHP json_encode() 函数

android - 当应用程序正在运行且可见时,如何将 Android 通知显示为对话框警报

android - 我无法在 Android Studio 中导出 Apk 文件

android - WifiManager.getScanResults() - 说明(自动扫描、 sleep 等)

html - 相对于动态增长的列表 CSS 移动 div

html - chrome css 动画抖动

javascript - 选择最近的 div 中的所有复选框