CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: bluemask con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 6 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 19 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 6 su 6
Discussione:

1 Layout x ogni Activity?

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
    Aug 2011
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Cool

    1 Layout x ogni Activity?

    Ciao a tutti sono un neocurioso di android... sto cercando di capire la giusta logica che c'è dietro e mi domandavo:
    -in una applicazione si deve avere un xml (es:main.xml) per ogni activity o no?
    -se no, come richiamo un altro layout (es:dettaglioUtente.xml) dalla stessa activity?
    Grazie e scusate per la mia giovinezza androidiana...

  2.  
  3. #2
    Baby Droid


    Registrato dal
    May 2011
    Messaggi
    25

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    puoi fare quanti layout xml ti pare e scegliere quale activity deve avere quale xml. Ovviamente puoi utilizzare uno stesso xml per più activity, ma se le due o più hanno funzioni e contenuti differenti, non so quanto ti possa convenire.

    Per scegliere quale xml utilizzare in una determinata activity usi il metodo setContentView(percorso.nome_xml)

    ad esempio

    setContentView(R.layout.secondapagina);

    che va ovviamente nel metodo onCreate

  4. #3
    Baby Droid


    Registrato dal
    Aug 2011
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Question

    Per fare un esempio.
    Io ho un'activity(TestProjectActivity) e due layout(main.xml e dettaglio.xml) dentro ogniuno dei quali c'è un tasto per andare da una pagina all'altra;
    Il problema è che il tasto 'btngobacktomain' è null. C'è sicuramente qualche nozione di base che non ho ancora capito; Dove sbaglio?

    Di seguito il codice:

     
    1
    2
    package it.testproject;
    3
    4
    import android.app.Activity;
    5
    import android.os.Bundle;
    6
    import android.widget.Button;
    7
    import android.view.View;
    8
    import android.view.View.OnClickListener;
    9
    import android.content.Intent;
    10
    import android.widget.TextView;
    11
    12
    public class TestProjectActivity extends Activity {
    13
        private Button bottone1;
    14
        private Button btngobacktomain;
    15
        private TextView textView1;
    16
          
    17
        @Override
    18
        public void onCreate(Bundle savedInstanceState) {
    19
            super.onCreate(savedInstanceState);
    20
    21
            setContentView(R.layout.main); 
    22
    23
            Button btn = (Button)findViewById(R.id.btngotodetails);   
    24
            btn.setOnClickListener(new View.OnClickListener() {
    25
                  public void onClick(View view) { 
    26
                    setContentView(R.layout.dettaglio); 
    27
                  }
    28
            });
    29
    30
            bottone1 = (Button) findViewById(R.id.bottone1); 
    31
    32
            btngobacktomain = (Button) findViewById(R.id.btngobacktomain); 
    33
            //  la variabile btngobacktomain è null <<--- ERROREeeeee 
    34
    35
            textView1 = (TextView) findViewById(R.id.testo1); 
    36
            
    37
            View.OnClickListener gestore = new View.OnClickListener() {
    38
                  public void onClick(View view) { 
    39
    40
                    switch(view.getId()){
    41
    42
                      case R.id.btngobacktomain: 
    43
                        setContentView(R.layout.main); 
    44
                        break;
    45
    46
                      case R.id.bottone1:
    47
                        textView1.setText("E' stato cliccato il bottone 1 !!!!!");
    48
                        break; 
    49
                    }   
    50
                  }
    51
                }; 
    52
                
    53
            bottone1.setOnClickListener(gestore);  
    54
                if (btngobacktomain!=null) 
    55
                    btngobacktomain.setOnClickListener(gestore);
    56
                
    57
        }
    58
    }
    59



    -Main.xml
    20
     
    1
    <?xml version="1.0" encoding="utf-8"?>
    2
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3
        android:orientation="vertical"
    4
        android:layout_width="fill_parent"
    5
        android:layout_height="fill_parent"
    6
        android:weightSum="1"> 
    7
        
    8
    <Button android:text="Bottone 1" 
    9
        android:id="@+id/bottone1" 
    10
        android:layout_width="wrap_content"
    11
        android:layout_height="wrap_content"
    12
        /> 
    13
    <TextView android:id="@+id/testo1" 
    14
        android:text="Testo di default TextView1" 
    15
        android:layout_height="wrap_content" 
    16
        android:layout_width="218dp" 
    17
        />
    18
    <Button android:text="Vai a Dettaglio" android:id="@+id/btngotodetails" android:layout_width="match_parent" android:layout_height="wrap_content"></Button>
    19
        
    20
     </LinearLayout>


    -Dettaglio.xml
    19
     
    1
    <?xml version="1.0" encoding="utf-8"?>
    2
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3
        android:orientation="vertical"
    4
        android:layout_width="fill_parent"
    5
        android:layout_height="fill_parent"
    6
        android:weightSum="1">
    7
        <TextView  
    8
            android:id="@+id/dettesto" 
    9
            android:layout_width="fill_parent" 
    10
            android:layout_height="wrap_content" 
    11
            android:text="sono nel dettaglioooo"
    12
            />
    13
        <Button 
    14
            android:id="@+id/btngobacktomain" 
    15
            android:layout_width="292dp" 
    16
            android:text="Torna al main" 
    17
            android:layout_height="wrap_content" 
    18
            />
    19
    </LinearLayout>

  5. #4
    Senior Droid


    Registrato dal
    May 2011
    Località
    Como
    Messaggi
    412

    Ringraziamenti
    13
    Ringraziato 15 volte in 11 Posts
    Predefinito

    Sto iniziando anche io a programmare in Android, quindi e' solo "riflessione"....
    Mi sembra che quello che vuoi tu e' avere due activity: quindi dovresti usare due file .class e usare StartActivity() per passare alla successiva.
    Samsung Galaxy SII JB
    Asus eee epad Transformer - Revolver -
    La mie app: Calcolo Zona - E-Liquid Calculator - Ricette in Zona con Simpatia - Birrifici Italiani

  6. #5
    Baby Droid


    Registrato dal
    Aug 2011
    Messaggi
    44

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Siccome hai messo
    1
     
    1
    setContentView(R.layout.main); 

    l'activity usa quel file per il layout e quel file non contiene nessun oggetto chiamato btngobacktomain, per questo l'oggetto è null.

    Per fare quello che vuoi tu devi crearti 2 activity, ciascuna con il proprio layout (una Main e l'altra Dettaglio).

  7. #6
    Baby Droid


    Registrato dal
    Aug 2011
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie mille a boggiano e crbin1.
    crbin1 mi hai chiarito ulteriormente la questione.

Tag per questa discussione

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