AsyncTaskを使用してファイルをダウンロードしています。そこで私は進歩を実行しました:
//Updating progress dialog
protected void onProgressUpdate(Integer... changed) {
progressDialog.setProgress(changed[0]);
}
//STARTED
@Override
protected void onPreExecute() {
try {
progressDialog = new ProgressDialog(context);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage(context
.getString(R.string.message_loading));
progressDialog.setCancelable(false);
progressDialog.show();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
ポートレートとランドスケープではすべてが正常に機能しています。ファイルがダウンロードされたことを通知するために、インターフェイスを使用しています。
間違っているのは、ポートレートまたはランドスケープでファイルのダウンロードを開始し、それが行われていないときにデバイスを回転させた後、進行状況が消え、どこに行くべきかわからないため、コールバックが例外を起動することです。
デバイスを回転させると、アクティビティが再作成されるので、これを適切に行う方法。ダウンロードを開始したときにユーザーがデバイスを回転できないことを制限する必要があります。その方法は次のとおりです。
またはこれに対する解決策はありますか?