Что ж, я делаю приложение, в котором я использую ListActivity для отображения представлений с изображениями, которые я загружаю из Интернета, а также TextViews и рейтинговых панелей.
Я добавил AsyncTask для управления этим и мой setListAdapter в части onPostExecute (); тем не менее, я также хотел, чтобы индикатор выполнения (или progressdialog) отображался во время настройки.
В моем эмуляторе на некоторое время появляется полоса, но не тогда, когда я пробую свое приложение на устройстве, и даже в эмуляторе, полоса зависает, когда setListAdapter работает, но ... просто у меня нет выяснил, как добавить publishProgress в мой ArrayAdapter, поскольку это другой класс.
Ах, да, я установил макет для ListActivity, и именно туда я поместил progressBar, но устройство, которое я предполагаю, делает часть doInBackground довольно быстрой, так что макет даже не отображается.
Это то, что у меня так далеко:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
extras = getIntent().getExtras();
platinumCinema = false;
setContentView(R.layout.simple_list_item_1);
Log.i(TAG,"Control B");
MoviesAsyncTask movieTask = new MoviesAsyncTask();
movieTask.execute();
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title_billboard);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgress = (ProgressBar)findViewById(R.id.progressbar_Horizontal);
mProgress.setVisibility(View.VISIBLE);
Log.i(TAG, "PreExecute");
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(result.equals("ok"))
Log.i(TAG,"Ended succesfully");
//ProgressDialog mDialog = ProgressDialog.show(BillboardMovieList.this, "","Loading. Please wait...", true);
publishProgress(75);
if(searchMethod.equals("byCinema")){
setListAdapter(new ArrayAdapterSchemaCinemas(BillboardMovieList.this, listMovies,listPosters, listRating, listTimes));
}else
...