Autore Topic: Separatore sotto il titolo nei Custom Dialog  (Letto 579 volte)

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 773
  • Respect: +161
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Separatore sotto il titolo nei Custom Dialog
« il: 23 Settembre 2010, 00:19:05 CEST »
0
Salve a tutti,
ho cercato un pò in rete ma non sono riuscito a trovare nulla di esaustivo a riguardo.
Ho creato un Dialog personalizzato derivando dalla classe "Dialog". Nel costruttore della classe imposto un titolo tramite il metodo "setTitle(String)", quindi carico il layout col metodo "setContentView(layout_id)". Funziona tutto perfettamente, ma la barra che separa il titolo dal corpo del dialog non viene visualizzata.
Pare che il separatore sia parte degli AlertDialog e non dei Dialog.
Sapete suggerirmi un modo per riprodurre questo separatore?

Grazie.

--
Ohmnibus
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Separatore sotto il titolo nei Custom Dialog
« Risposta #1 il: 23 Settembre 2010, 00:23:26 CEST »
0
Creare un AlertDialog personalizzato? :D


« Ultima modifica: 23 Settembre 2010, 00:25:16 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 773
  • Respect: +161
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Separatore sotto il titolo nei Custom Dialog
« Risposta #2 il: 23 Settembre 2010, 19:45:39 CEST »
0
Molto ingenuamente mi sono limitato a cambiare la classe base da "Dialog" ad "AlertDialog". Ovviamente non ha funzionato: al momento di visualizzare l'alert (alert.show()) ho ricevuto un messaggio "ERROR/AndroidRuntime(308): android.util.AndroidRuntimeException: requestFeature() must be called before adding content".
Che significa? Come posso risolvere? Potrei creare il dialog secondo quanto descritto su developer.android.com, ma questo significa spostare la logica che istanzia l'interfaccia (che attualmente è nel costruttore) nel chiamante...

Grazie in anticipo.

--
Ohmnibus
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Separatore sotto il titolo nei Custom Dialog
« Risposta #3 il: 24 Settembre 2010, 00:01:49 CEST »
+1
Prova così ;)
Codice (Java): [Seleziona]
        public class MyAlertDialog extends AlertDialog {
                protected MyAlertDialog(Context context) {
                        super(context);
                }
               
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                        View mView = getLayoutInflater().inflate(R.layout.my_dialog, null);
                        setView(mView);
                        setTitle("Titolo");
                        setButton("OK", (OnClickListener)null);
                        super.onCreate(savedInstanceState);

                        getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT,
                                        WindowManager.LayoutParams.WRAP_CONTENT);
                }
        }

La puoi visualizzare così:
Codice (Java): [Seleziona]
new MyAlertDialog(this).show();
« Ultima modifica: 24 Settembre 2010, 00:19:05 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 773
  • Respect: +161
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Separatore sotto il titolo nei Custom Dialog
« Risposta #4 il: 24 Settembre 2010, 20:36:07 CEST »
0
Ok, adesso va. Mi spiegheresti perché se istanzio il layout nel costruttore e non alla onCreate non va? Mi sembra di capire che vada tutto specificato prima di invocare la "super.onCreate", giusto?

Grazie mille.

P.S.: Non metto subito "Topic Risolto" perché sennò magari ignori questo post  :-P
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.