Autore Topic: Barra fissa e aggiornamento  (Letto 683 volte)

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Barra fissa e aggiornamento
« il: 05 Aprile 2011, 00:54:11 CEST »
0
La mia applicazione ha 4 activity, vorrei realizzare una barra fissa uguale per tutte le activity da piazzare in alto. Devo copiare il testo su tutti i layout o esiste un altro metodo?

Inoltre ho un servizio che periodicamente scarica dati, questa barra deve cambiare quando è in corso un download, per farla semplice deve contenere un testo indicante il nome dell'applicazione quando non è in corso un download e la scritta "downloading..." quando invece il download è in corso. Come faccio a farla cambiare per ogni activity in base a cosa fa il servizio?

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Barra fissa e aggiornamento
« Risposta #1 il: 05 Aprile 2011, 01:13:11 CEST »
0
Io l'ho sempre copiato ma ora che mi ci fai pensare forse è possibile mettere la barra in un xml separato ed includerlo nell'xml di ogni activity.

Per il cambiamento è molto semplice, appena parte il servizio prendi l'id della textview del titolo e gli cambi il testo.

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Barra fissa e aggiornamento
« Risposta #2 il: 05 Aprile 2011, 15:22:14 CEST »
0
Io l'ho sempre copiato ma ora che mi ci fai pensare forse è possibile mettere la barra in un xml separato ed includerlo nell'xml di ogni activity.

Per il cambiamento è molto semplice, appena parte il servizio prendi l'id della textview del titolo e gli cambi il testo.

Ok l'include grazie  :-)

Il cambiamento mi pare meno semplice, perché anche se passo l'ID della TextView al service, all'intenro del service findViewById non fuzniona e comunque io non so quale activity è in primo piano al momento.

Si potrebbe risolvere con dei broadcast e dei receiver probabilmente, ma cercavo qualcosa di più semplice...

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Barra fissa e aggiornamento
« Risposta #3 il: 05 Aprile 2011, 15:47:36 CEST »
0
mmm allora mi sa che va oltre le mia capacità :-D

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Barra fissa e aggiornamento
« Risposta #5 il: 05 Aprile 2011, 17:29:30 CEST »
0
Layout Tricks: Creating Reusable UI Components | Android Developers

Avevo visto grazie  :-)

Per l'altro problema ho risolto per ora mandando intent dal servizio e aggiornando la textview con broadcast receiver, resta il problema (anche se marginale) che quando cambio activity la barra torna alla dicitura originale. Altre idee?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: Barra fissa e aggiornamento
« Risposta #6 il: 05 Aprile 2011, 22:03:23 CEST »
0
Rifattorizza il tuo codice in modo da estrarre il broadcast receiver e le relative operazioni di registrazione /deregistrazione in una apposita activity e fai in modo che tutte le altre del tuo progetto la estendono.

Sent from my HTC Desire

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re: Barra fissa e aggiornamento
« Risposta #7 il: 07 Aprile 2011, 15:14:13 CEST »
0
Rifattorizza il tuo codice in modo da estrarre il broadcast receiver e le relative operazioni di registrazione /deregistrazione in una apposita activity e fai in modo che tutte le altre del tuo progetto la estendono.

Sent from my HTC Desire

Ottimo :)

Problemino che è più su java che su android...

Io avevo questa situazione:

Activity1 extends ListActivity
Activity2 extends ListActivity
Activity3 extends ListActivity
Activity4 extends Activity


Ora ho creato la mia nuova activity base di tutte le altre e quindi ho questa situazione:

ActivityBase extends ListActivity
Activity1 extends ActivityBase
Activity2 extends ActivityBase
Activity3 extends ActivityBase
Activity4 extends ActivityBase

Adesso quindi la Activity4 deriva da ListActivity invece che da Activity, non è che mi dia un grosso problema, ma come si potrebbe evitare questo?