0

シナリオ:私のアプリケーションでは、ボタンをクリックすると、WebView でダイアログが開き、一部のデータが読み込まれます (これには、HTML ファイルのローカルでのコピー、編集、および読み込みが含まれます)。WebView は、ローカルで作成された HTML ファイルを表示することが期待されています。

何が起きているか:ダイアログを開くのに時間がかかります。少なくともファイルのコピーと編集の部分を待ちます。WebView が HTML ファイルのロードを開始すると、ダイアログが開きます。

私が試したこと: メインスレッドでこれらを呼び出してみました:

url = prepareLocalHtmlFile(dataKey); //Copy and edit html file and returns its path in local dir
webView.loadUrl(url); //Show the html file in WebView

別のスレッドでも試しました:

Thread mThread = new Thread() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                url = prepareLocalHtmlFile(dataKey); //Copy and edit html file and returns its path in local dir
                webView.loadUrl(url); //Show the html file in WebView
            }
        });
    }
};
mThread.start();

私が欲しいもの:ボタンを押すとすぐにダイアログが開き、時間のかかるすべての操作(コピー、編集、webView での HTML の読み込み)が行われます。それを達成する方法を提案してください。

4

1 に答える 1