Autore Topic: Cambiare layout sulla stessa activity  (Letto 617 volte)

Offline stefy97100

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 8.1
Cambiare layout sulla stessa activity
« il: 05 Marzo 2014, 20:35:21 CET »
0
Salve a tutti, vorrei cambiare il layout della mia applicazione restando però sulla stessa Activity.
Io ho uno spinner che ad ogni cambio testo mi cambi il layout dell'applicazione. Vorrei farlo evitando di fare un'altra activity, è possibile? (Vedi foto)
Io ho provato con questo codice:
Codice (Java): [Seleziona]
public class MainActivity extends Activity implements OnItemSelectedListener {
        Spinner spinner;
        String[] contenuto = {"Calcola", "Formula", "Formula2"};
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, contenuto);
                spinner = (Spinner) findViewById(R.id.spinner1);
                spinner.setAdapter(adapter);
               
                spinner.setOnItemSelectedListener(this);
               
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;   
        }

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                // TODO Auto-generated method stub
                int position = spinner.getSelectedItemPosition();
               
                if (position == 0)
                {
                        setContentView(R.layout.activity_main);
                }
                else if (position == 1)
                {
                        setContentView(R.layout.creff);
                }
                else if (position == 2)
                {
                       
                }
               
        }


}

Il problema è che l'applicazione si avvia senza alcun contenuto sullo spinner. Come risolvo?

Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Cambiare layout sulla stessa activity
« Risposta #1 il: 07 Marzo 2014, 13:52:36 CET »
0
AlertDialog?

Offline stefy97100

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 8.1
Re:Cambiare layout sulla stessa activity
« Risposta #2 il: 07 Marzo 2014, 19:18:23 CET »
0
Cosa c'entra l'alertDialog?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Cambiare layout sulla stessa activity
« Risposta #3 il: 09 Marzo 2014, 09:23:20 CET »
0
Cambiare dinamicamente il layout è sicuramente possibile, non l'ho mai fatto ma cercando un po' su google qualche esempio si trova.

Però è una cosa molto molto insolita. Il modo comunemente usato per visualizzare un'altra schermata è passare a un'altra acitivity. Valuta quindi se la tua è una vera e propria esigenza di rimanere in un'unica activity, oppure se è solo una preferenza personale.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Cambiare layout sulla stessa activity
« Risposta #4 il: 10 Marzo 2014, 13:57:09 CET »
0
Cosa c'entra l'alertDialog?

ti permette di aprire una specie di activity è customizzabile, molto comoda e carina in certi casi

Post unito: 10 Marzo 2014, 13:57:46 CET
Dialogs | Android Developers

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Cambiare layout sulla stessa activity
« Risposta #5 il: 10 Marzo 2014, 14:58:30 CET »
0
ti permette di aprire una specie di activity è customizzabile, molto comoda e carina in certi casi

Post unito: 10 Marzo 2014, 13:57:46 CET
Dialogs | Android Developers

Una dialog NON è una specie di Activity.
Sulla sua utilità ci sarebbe da discutere, ma nel caso in questione è decisamente inutile.

Salve a tutti, vorrei cambiare il layout della mia applicazione restando però sulla stessa Activity.
Io ho uno spinner che ad ogni cambio testo mi cambi il layout dell'applicazione. Vorrei farlo evitando di fare un'altra activity, è possibile? (Vedi foto)

Nel layout principale potresti utilizzare un FrameLayout, nel quale innestare dinamicamente dei Fragment per esempio (soprattutto se ogni view ha logiche completamente diverse dalle altre).
In alternativa innesti dinamicamente nel frame (tramite inflate) le view (realizzate sempre in xml).

Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Cambiare layout sulla stessa activity
« Risposta #6 il: 10 Marzo 2014, 15:13:58 CET »
0
Una dialog NON è una specie di Activity.
Sulla sua utilità ci sarebbe da discutere, ma nel caso in questione è decisamente inutile.
ovvio era per non stare li a dare milioni di definizioni e farla breve