Я хочу показать индикатор выполнения круга, пока таблица создается в фоновом режиме. Мой код в асинхронной задаче:
class DoWork extends AsyncTask<Void, Void, Void>{
Context context;
public DoWork(Context con){
this.context = con;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
setContentView(R.layout.content_progress);
pb = (ProgressBar) findViewById(R.id.progressBar);
pb.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
runOnUiThread(new Runnable() {
public void run() {
setContentView(new TableMainLayout(context));
}
});
return null;
}
@Override
protected void onPostExecute(Void result) {
pb.setVisibility(View.INVISIBLE);
super.onPostExecute(result);
}
}
Код в content_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.standart.trainschedule.ProgressActivity"
tools:showIn="@layout/activity_progress">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
новый TableMainLayout(context) - генерировать макет таблицы с данными, а также это пользовательский интерфейс, поэтому я использую runOnUiThread() в doInBackground()
Проблема в том, что когда я запускаю свое приложение на телефоне, оно не показывает индикатор выполнения. Это просто заморозило мое приложение на 5 секунд. а потом покажи мне сгенерированную таблицу.
Что я должен сделать, чтобы показать индикатор выполнения?
runOnUiThread
в AsyncTask. Это побеждает всю цель AsyncTask - person OneCricketeer   schedule 28.02.2016