CERCA
PER MODELLO
FullScreen Chatbox! :)

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

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

Problema spinner

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
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema spinner

    Ciao a tutti,
    vi chiedo aiuto per un problema con uno spinenr in android.

    Ho creato un array String come xml in strings:

    <string-array name="month">
    <item>01</item>
    <item>02</item>
    <item>03</item>
    <item>04</item>
    <item>05</item>
    <item>06</item>
    <item>07</item>
    <item>08</item>
    <item>09</item>
    <item>10</item>
    <item>11</item>
    <item>12</item>
    </string-array>

    Ho attribuito i valori allo spinner direttamente da designer puntando appunto a "month"

    e poi ho associato da codice java lo spinner:

    Spinner SPmonth = (Spinner) findViewById(R.id.month);

    e vorrei che il programma selezionasse automaticamente un mese passsato come parametro ovvero:
    SPmonth.setSelection(2);

    Il problema è che quando arriva a questa riga di codice il programma si blocca e si chiude automaticamente "has stopped"

    Qualcuno che ha qualche idea?

    Grazie

  2.  
  3. #2
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Ciao Simone,
    dovresti fornire qualche dettaglio in più perchè formalmente sembra tutto ok.

    Non è che l'output della vista di Android monitor ti riporta qualche errore? Perchè se il programma si chiude a quella riga mi viene da pensare ad una NullPointerException generata dalla spinner.
    Vedi di metterti in debug con punto di interruzione sulla riga della setSelection(2) e verifica che la variabile SPmonth sia diversa da null.

    Se non fosse così riporta l'xml del layout e la classe dove usi la spinner così da poter valutare meglio la situazione.

  4. #3
    Baby Droid


    Registrato dal
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fattazzo Visualizza il messaggio
    Ciao Simone,
    dovresti fornire qualche dettaglio in più perchè formalmente sembra tutto ok.

    Non è che l'output della vista di Android monitor ti riporta qualche errore? Perchè se il programma si chiude a quella riga mi viene da pensare ad una NullPointerException generata dalla spinner.
    Vedi di metterti in debug con punto di interruzione sulla riga della setSelection(2) e verifica che la variabile SPmonth sia diversa da null.

    Se non fosse così riporta l'xml del layout e la classe dove usi la spinner così da poter valutare meglio la situazione.
    Ciao,
    innanzitutto grazie per la risposta.
    Ho provato a controllare e lo spinenr viene riportato = null ma come mai?

  5. #4
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Immaginavo fosse quello il problema dalla tua descrizione.

    Posta l'xml del layout e la classe dove selezioni la spinner così forse posso capire il perchè non è avvalorata.

  6. #5
    Baby Droid


    Registrato dal
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fattazzo Visualizza il messaggio
    Immaginavo fosse quello il problema dalla tua descrizione.

    Posta l'xml del layout e la classe dove selezioni la spinner così forse posso capire il perchè non è avvalorata.
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
    android:id="@+id/TextViewTitle"
    style="@style/TextNormal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="23dp"
    android:text="@string/Add" />

    <TextView
    android:id="@+id/TextViewSG"
    style="@style/Text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/TextViewTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="12dp"
    android:text="@string/selectGame" />

    <TextView
    android:id="@+id/TVMonth"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Month"
    android:layout_above="@+id/month"
    android:layout_alignStart="@+id/month" />

    <TextView
    android:id="@+id/TVYear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Year"
    android:layout_above="@+id/year"
    android:layout_alignStart="@+id/year" />

    <Spinner
    android:id="@+id/month"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignBottom="@+id/TextViewSG"
    android:layout_alignParentStart="true"
    android:layout_marginStart="12dp"
    android:entries="@array/month" />

    <Spinner
    android:id="@+id/year"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignBottom="@+id/TextViewSG"
    android:layout_marginStart="16dp"
    android:layout_toEndOf="@+id/TextViewTitle"
    android:entries="@array/year" />

    <ScrollView
    android:id="@+id/ScrollViewListGame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="100dp">

    <RelativeLayout
    android:id="@+id/LayoutLScrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">


    </RelativeLayout>
    </ScrollView>
    </RelativeLayout>

    Classe:

    Btn2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

    // Inizializzo la mia dialog
    final Dialog Add= new Dialog(Insert.this);

    // Evito la presenza della barra del titolo nella mia dialog
    Add.requestWindowFeature(Window.FEATURE_NO_TITLE);


    // Carico il layout della dialog al suo intenro
    Add.setContentView(R.layout.activity_add_2);


    Spinner SPmonth = (Spinner) findViewById(R.id.month);
    Spinner SPyear = (Spinner) findViewById(R.id.year);

    //Istanzio il layout della scroll view
    RelativeLayout SVLayout = (RelativeLayout) findViewById(R.id.LayoutLScrollView);








    SPmonth.setSelection(2,true);
    SPyear.setSelection(3);




    Add.show();

    }
    });

  7. #6
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Btn2 non lo vedo nel layout, si trova in un altra activity/fragment di quello che rappresenta l'xml che hai postato?

  8. #7
    Baby Droid


    Registrato dal
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fattazzo Visualizza il messaggio
    Btn2 non lo vedo nel layout, si trova in un altra activity/fragment di quello che rappresenta l'xml che hai postato?
    Esatto io dentro un'activity principale (main) che contiene il btn2 apro la dialog caricandomi il layout in questione

  9. #8
    Baby Droid L'avatar di fattazzo


    Registrato dal
    Nov 2013
    Località
    Baselga di Pinè (Trento)
    Messaggi
    19
    Smartphone
    Xiaomi Redmi Note 3

    Ringraziamenti
    0
    Ringraziato 6 volte in 6 Posts
    Predefinito

    Allora credo che il mistero sia svelato.

    il findViewById(R.id.month) lo stai eseguendo dalla tua activity principale quindi può trovarti solo le view contenute nel suo layout ( es il Btn2 ).

    La spinner si trova nel layout del dialog quindi per ottenere qualsiasi view del dialog devi richiamare il findViewById su di esso quindi il tuo codice va cambiato in

    codice:
    Spinner SPmonth = (Spinner) Add.findViewById(R.id.month);
    Non ho un IDE sotto mano quindi vado a memoria ma dovrebbe proprio essere così.

  10. #9
    Baby Droid


    Registrato dal
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fattazzo Visualizza il messaggio
    Allora credo che il mistero sia svelato.

    il findViewById(R.id.month) lo stai eseguendo dalla tua activity principale quindi può trovarti solo le view contenute nel suo layout ( es il Btn2 ).

    La spinner si trova nel layout del dialog quindi per ottenere qualsiasi view del dialog devi richiamare il findViewById su di esso quindi il tuo codice va cambiato in

    codice:
    Spinner SPmonth = (Spinner) Add.findViewById(R.id.month);
    Non ho un IDE sotto mano quindi vado a memoria ma dovrebbe proprio essere così.
    Ora funziona. Grazie mille si vede che sono agli albori della programmazione in android

  11. #10
    Baby Droid


    Registrato dal
    Mar 2017
    Messaggi
    23

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Simone9969996 Visualizza il messaggio
    Ora funziona. Grazie mille si vede che sono agli albori della programmazione in android

    Perdonami ma visto che ci sono ti chiedo un'ulteriorie informazione che penso sia simile.

    Ovvero nella stessa dialog che richiamo mi sto costruendo una list view creando bottoni e immagini nuove.

    Ti riporto il codice

    //Istanzio il layout della scroll view
    RelativeLayout SVLayout = (RelativeLayout) Add.findViewById(R.id.LayoutLScrollView);

    ImageView Image = new ImageView(insert.this);


    //Setto parametri Image
    //parametri layout
    RelativeLayout.LayoutParams RLayout = new RelativeLayout.LayoutParams(LinearLayout.LayoutPar ams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    Drawable b = getResources().getDrawable(R.drawable.ic_action_pr ovavalid);
    Image.setImageDrawable(b);
    Image.setLayoutParams(RLayout);
    Image.setId(12);
    Image.setMaxWidth(50);
    Image.setMaxHeight(50);
    Image.setPadding(20,20,20,20);

    SVLayout.addView(Image,1);

    Anche questo pezzo di codice mi da errore ovvero:

    java.lang.reflect.InvocationTargetException
    java.lang.IndexOutOfBoundsException: index=1 count=0

    Può essere un problema simile?

    Grazie mille di nuovo

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