Domanda

Ho letto un inferno di molto di questo, e non riesco a vedere chi ha fatto o provato prima.

Così ho un oggetto che si estende ImageView, allora in questo io chiamo una finestra di avanzamento e impostare il contenuto del finestre di dialogo di avanzamento al ImageView (vale a dire il tentativo di disegnare la finestra di avanzamento nel imageview..view.)

    loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView        
    loadingProgressDialog.setIndeterminate(true);
    loadingProgressDialog.show();

E ottengo l'errore: requestFeature () deve essere chiamata prima di aggiungere contenuti

Ora ho visto questo errore prima su carichi di messaggi e sì, la risposta sembra ovvia. Ho cercato di impostare tutte le caratteristiche:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

Ma prima non capisco il motivo per cui ho bisogno di questo? E in secondo luogo nessuno di loro lavoro comunque!

Quindi la domanda è posso impostare la ProgressDialog contentView a un ImageView? Se è così che cosa ho ottenuto sbagliato?

È stato utile?

Soluzione 3

ottenuto.

L'indizio era nei nomi di classe, non utilizzare ProgressDialog ( http: //developer.android.com/reference/android/app/ProgressDialog.html ) quando non è necessario un dialogo!

Ho cambiato la mia implementazione dell'uso: ProgressBar ( http://developer.android .com / riferimento / android / widget di / ProgressBar.html ) e funziona benissimo.

Applausi per l'orecchio comunque!

Questo è il motivo per cui stavo cercando per:

http: //www.anddev. org / inesperti-tutorial-F8 / imageview-con-carico-filatore-t49439.html

Tutorial mostra come si può avere uno Spinner mentre un'immagine è carico. Godetevi

Altri suggerimenti

ho fatta; in realtà, è molto semplice; utilizzando

loadingProgressDialog.setContentView(this) 

Dopo

loadingProgressDialog.show() 

Le seguenti righe di codice sono inutili:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

Vale a dire:

loadingProgressDialog.setIndeterminate(true);
loadingProgressDialog.show();
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView 

che è abbastanza.

Spero che questo possa aiutare altre persone in cerca di risposta a questa domanda.

Se andate a leggere il doc sviluppatore progressDialog si dice "una finestra di dialogo che mostra un indicatore di avanzamento e un messaggio di testo opzionale o vista. Solo un messaggio di testo o di una vista può essere utilizzato allo stesso tempo".

Sembra che si sta tentando di fare entrambe le cose. Forse la causa del problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top