Я создаю проект, в котором я использую async задачу, чтобы показать индикатор выполнения. Я использую метод get(), чтобы подождать основного потока, чтобы мы могли выполнить другую задачу раньше.Android Async задает пороговую панель не до тех пор, пока фоновый процесс не завершится
но индикатор выполнения отображается после завершения doInBackground там. Я хочу показать загрузочную панель при загрузке. Он будет отклонен при вызове onPostExecute.
public class TempConverterActivity extends Activity {
pojo p;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b= (Button) findViewById(R.id.btn);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showResult();
}
});
}
private void showResult() {
try {
new LoadData().execute().get();
} catch (Exception e) {
Log.e("async brix--", e.getMessage());
}
runned();
}
private void runned() {
ArrayList<String> al = p.getData();
for (String str : al){
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
}
}
private class LoadData extends AsyncTask<Void, Void, Void> {
private final ProgressDialog dialog = new ProgressDialog(TempConverterActivity.this);
protected void onPreExecute() {
dialog.setMessage("Loading data...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
protected void onPostExecute(final Void unused) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
@Override
protected Void doInBackground(Void... params) {
p = new pojo();
new SoapParser(p);
return null;
}
}}
Помогите. Заранее спасибо.
так что вы хотите, чтобы отобразить диалог прогресса во время процесса синхронизации справа? – Lucifer
Означает ли это, что ваше диалоговое окно отображается в методе onpostexecute? –
Да, мой диалог отображается в методе onpostexecute, и фоновая задача также успешна, и я хочу отобразить диалоговое окно при процессе синхронизации. –