Cần giúp đỡ innerHTML return null - javascript trong android

Chào ace,
Mình đang viết một app android liên quan đến webview .
Trong phương thức onCreate mình khai báo 1 webview như sau:

 public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        w = (WebView) findViewById(R.id.webview);
        w.getSettings().setJavaScriptEnabled(true);
        w.loadDataWithBaseURL("http://bar/", "<span id='math'></span>", "text/html", "utf-8", "");
        FuncA("this is value");
    }

Minh tạo một FuncA(String text) được gọi trong method onCreate như sau:

public void FuncA(String text){
w = (WebView) findViewById(R.id.webview);
w.evaluateJavascript("javascript:document.getElementById('math').innerHTML='"
                    + text + "';", new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String value) {
                    Log.d("value", value);

                }
            });

Trong FuncA mình dùng Log.d(“value”, value); để hiển thị giá trị value nhận được trong logcat.

Minh mún hỏi là đáng lý ra value nhận được phải là “this is value” trong logcat , nhưng mà mình lại nhận được giá trị là null.

Nhưng nếu
Nếu mình tạo một button, button này gọi đến FunA(“this is value”) thì lại nhận được kết quả đúng trong logcat là “this is value”

ko ai giúp hết :frowning:

1 Like

mình đã gửi đến 1 bạn làm về anroid để trả lời cho bạn.

1 Like

Vì trong lúc gọi FuncA thì webview vẫn chưa được load xong…

bạn có hướng giải quyết không, mình muốn FuncA tự động được gọi tới.

Dùng cái này nhé.

1 Like

uh để mình nghiên cứu, thanks

Ok , nhờ sự trợ giúp đỡ của bạn mình đã hiểu nguyên do và khắc phục được tình trạng trên . Cảm ơn nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?