CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 19
Discussione:

Capire l'activity e layout

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Question

    Capire l'activity e layout

    Salve a tutti,
    dunque avrei bisogno di capire bene come funzionano l'activity e il layout di un qualunque programma android.

    Quand'è che viene visualizzato il mio layout.xml modificato?
    A me pare che la mia schermata xml (opportunamente modificata) sia visualizzata SOLO quando il metodo onCreate() dell'activity termina...è giusto?


    Se così fosse ho ragione di credere che funzioni così un normalissimo programma: Vi esemplifico per far capire meglio la mia domanda.

    Dunque,
    ho creato il mio programmino e ho caricato una schermata nera a.xml
    con un solo tasto cliccaQui. Debuggandolo mi accorgo che solo quando termina il metodo onCreate() della mia activity la schermata col bottone mi viene visualizzata sul display.

    A questo punto se schiaccio il bottone cliccaQui parte il metodo onClick() del bottone che mi carica b.xml e che anche qui, solo quando termina questo metodo mi carica la nuova schermata..

    i file xml li carico tutti con setViewContent(R.layout.<nomeFile.xml>);

    Se ho capito giusto, funziona proprio così?

    A me piacerebbe riuscire a caricare oggetti di una schermata xml prima che finiscano tali metodi.. per esempio mi piacerebbe fare un semplice controllo e caricare un toast di avvertimento, aspettare 1 secondo e visualizzarne un'altro, aspettare ancora un secondo. Tutto questo prima che termini il metodo onClick() o onCreate() chiamato e che quindi mi venga caricata la nuova pagina...

    (Mi spiace se non stato molto chiaro..ma faccio ancora un pò di confusione..)

  2.  
  3. #2
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da AnderAndroid Visualizza il messaggio
    i file xml li carico tutti con setViewContent(R.layout.<nomeFile.xml>);
    E già qui c'è un piccolo problema di fondo
    Non è propriamente uso standard del framework android fare successive setViewContent all'interno di un programma, di solito si considera un diverso layout come un diverso step della navigazione della app e quindi andrebbe chiuso in una diversa activity... il che ovviamente porta a ragionamenti completamente diversi...

    Quote Originariamente inviato da AnderAndroid Visualizza il messaggio
    A me piacerebbe riuscire a caricare oggetti di una schermata xml prima che finiscano tali metodi.. per esempio mi piacerebbe fare un semplice controllo e caricare un toast di avvertimento, aspettare 1 secondo e visualizzarne un'altro, aspettare ancora un secondo. Tutto questo prima che termini il metodo onClick() o onCreate() chiamato e che quindi mi venga caricata la nuova pagina...

    (Mi spiace se non stato molto chiaro..ma faccio ancora un pò di confusione..)
    Nel senso di riuscire a tracciare il caricamento successivo degli elementi dell'attività? Intento lodevole, ma non so se sia possibile farlo all'interno dell'attività stessa. Quello che mi sembra chiaro a valle di diversi esperimenti con gli sleep svolti per un altro thread in questo forum è che il rendering della "pagina" dell'activity è atomico (nel senso tutto in una volta) e a valle di tutti i metodi relativi al ciclo di vita invocati, quindi non puoi intervenire al suo interno... non credo esista il momento in cui viene "mostrato il TextView X" o il "Button Y" (come invece c'è per l'HTML, tracciabile via JS), esiste il momento in cui tutto compare.
    Diverso ragionamento si può fare ragionando da un'altra attività chiamante... forse... in realtà al momento mi viene in mente il ragionamento solo a livello teorico, senza esplorazioni profonde di codice...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  4. #3
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ora tutto mi sembra un pò più chiaro! Grazie!

    A fronte delle tue rivelazioni mi viene in mente una domanda (che forse sarà stupida).
    Se per seguire l'uso standard del framework android conviene racchiudere la setViewContent all'interno di un'altra activity è quindi possibile creare più activity all'interno dello stesso progetto eclipse? Se è corretto, come faccio a passare da un'activity all'altra?

    Io al momento ho in mente questo ragionamento...ma forse è errato..
    Cioè, ho creato la classe (class Prova1 extends Activity) e poi in un altro file del progetto ho creato la classe (class Prova2 extends Activity). Come faccio a richiamare Prova2 a partire dalla classe Prova1 ? Mi basterebbe usare un bottone per esempio?
    L'idea è sempre quella di avere un app che apra una pagina (dettata da Prova1) e poi apra una seconda pagina(Prova2), magari attraverso un bottone.

    Grazie per la pazienza..

  5. #4
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    si puoi farlo col bottone! devi creare un intent per passare da un'activity ad un'altra:
    esempio:


    dove Act nel tuo caso è Prova1
    e Act2 è Prova2
    Ovviamente in Prova2 avrai una'ltro setContentView!
    e miracomando ad aggiornare il manifest! ovvero devi solo inserire il permesso per Prova2. Il codice è uguale a ciò che troverai per Prova1, solo che devi copiarlo e incollarlo sostituendo a Prova1, Prova2.
    La riga del manifest, seppur benale adesso non c'è l'ho sottomano!!!!!

  6. Il seguente Utente ha ringraziato allmystery per il post:

    AnderAndroid (19-01-11)

  7. #5
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    In ogni caso, prima di fare qualsiasi cosa, la lettura di questa pagina è sempre CALDAMENTE consigliata.
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  8. #6
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie a tutti e due, piano piano inizio a farmi le idee più chiare.

    Ho solo un piccolo problema, ho provato a fare come mi dicevi tu,allmystery,
    però devo aver sbagliato qualcosa nella realizzazione del manifest..perchè non funziona..ti allego il progetto sempliciotto.
    E qua visualizzo il manifest come l'ho modificato..



    Dove sbaglio?
    File allegati
    Ultima modifica di AnderAndroid; 18-01-11 alle 14:38

  9. #7
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da AnderAndroid Visualizza il messaggio
    Grazie a tutti e due, piano piano inizio a farmi le idee più chiare.

    Ho solo un piccolo problema, ho provato a fare come mi dicevi tu,allmystery,
    però devo aver sbagliato qualcosa nella realizzazione del manifest..perchè non funziona..ti allego il progetto sempliciotto.
    E qua visualizzo il manifest come l'ho modificato..



    Dove sbaglio?
    Questo filtro



    Va legato a una e una sola attività, serve ad android per capire da dove iniziare... quindi non può stare su entrambe.
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  10. #8
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    si si giusto!
    scrivi solo:

  11. #9
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho provato a fare come dite, ma continua a darmi errore a runtime quando provo a lanciare l'applicazione.
    Se invece commento la riga 18 di ProvaActivity.java (//bm.setOnClickListener (mio); ) il programma parte ma mi aprirà solo il R.layout.main e quindi il bottone sarà disabilitato..

    Ecco i codici. Allego anche il file Zip.

    ProvaActivity.java


    Act2.java


    Manifest


    Grazie per la pazienza..
    File allegati

  12. #10
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito



    Per recuperare il bottone il riferimento è l'id (Button01), non il text (Butt)
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  13. Il seguente Utente ha ringraziato Cymon per il post:

    AnderAndroid (19-01-11)

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy