シナリオ:私のアプリケーションでは、ボタンをクリックすると、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 の読み込み)が行われます。それを達成する方法を提案してください。