Autore Topic: Errore nell'inserimento di uno spinner in un layout  (Letto 398 volte)

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Errore nell'inserimento di uno spinner in un layout
« il: 12 Settembre 2011, 20:50:09 CEST »
0
Salve,
non sò se si tratta della sezione giusta...spero di non aver sbagliato...

Ho problemi ad inserire una View spinner dentro ad un mio RelativeLayout (la cosa è strana perchè in passato avevo già usato lo spinner senza incontrare grossi problemi...)

Questo è il mio layout:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="10dp">
       
        <RadioGroup
                android:id="@+id/sexGroup"
                android:orientation="horizontal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/sexView"
                android:layout_marginLeft="20dp">
                <RadioButton
                        android:id="@+id/radio0"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:text="Maschio"
                        android:checked="true">
                </RadioButton>
                <RadioButton
                        android:id="@+id/radio1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:text="Femmina">
                </RadioButton>
        </RadioGroup>
       
        <TextView
                android:id="@+id/sexView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignBottom="@id/sexGroup"
                android:layout_alignTop="@id/sexGroup"
                android:gravity="center_vertical"
                android:text="Sesso">
        </TextView>
       
        <EditText
                android:id="@+id/insertSexView"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                        android:layout_below="@+id/sexGroup"
                        android:layout_alignLeft="@+id/sexGroup"
                        android:layout_alignRight="@+id/sexGroup"
                        android:layout_alignParentRight="true">
                </EditText>
               
                <TextView
                        android:id="@+id/insertSexLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBaseline="@+id/insertSexView"
                        android:text="Età Vittima">
                </TextView>
               
                <EditText
                android:id="@+id/insertOraView"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                        android:layout_below="@+id/insertSexView"
                        android:layout_alignLeft="@+id/insertSexView"
                        android:layout_alignRight="@+id/insertSexView"
                        android:layout_alignParentRight="true">
                </EditText>
               
                <TextView
                        android:id="@+id/insertOraLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBaseline="@+id/insertOraView"
                        android:text="Ora">
                </TextView>
               
                <spinner
                    android:id="@+id/insertArmaView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/insertOraView"
                        android:layout_alignLeft="@+id/insertOraView"
                        android:layout_alignRight="@+id/insertOraView"
                        android:layout_alignParentRight="true">
            </spinner>
               
                <TextView
                        android:id="@+id/insertArmaLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBaseline="@+id/insertArmaView"
                        android:text="Arma Scelta">
                </TextView>
       
</RelativeLayout>

Poi ho il seguente file XML (armi.xml) contenente una lista di armi da visualizzare nel menu a tendinda dello spinner:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="armi_array">
        <item>Pistola</item>
        <item>Fucile</item>
        <item>Coltello</item>
        <item>Bastone</item>
        <item>Bottiglia</item>
    </string-array>
</resources>

Ed infine questa è la mia Activity:

Codice: [Seleziona]
package test.testtt;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class TestlayoutActivity extends Activity {
   
        /* Metodo chiamato appena viene creata la sotto attività */
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);                               
                setContentView(R.layout.main);                // Setto il file presentation.xml del layout recuperando l'id dalla classe R
               
                // Definisco un ArrayAdapter che costruisco tramite il metodo createSpinnerAdapter():
                ArrayAdapter<String> adapter = createSpinnerAdapter();
               
                /* Associo il layout del dropdown (gli associo il layout per la visualizzazione alternativa relativa all'elenco delle
                 * opzioni tra cui l'utente potrà scegliere: */
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
               
                // Ottengo il riferimento allo Spinner:
                Spinner spinner = (Spinner) findViewById(R.id.insertArmaView);
               
                // Associo l'adapter alla Gallery
                spinner.setAdapter(adapter);
        }
       
        /* Metodo di utilità che permette di creare un ArrayAdapter: */
        private ArrayAdapter<String> createSpinnerAdapter() {
                // Creo un array data in cui metto i mesi dell'anno definiti in un array come risorsa XML:
                String[] data = getResources().getStringArray(R.array.armi_array);
                // Creo l'adapter passandogli l'array data contenente i mesi da visualizzare:
                ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, data);
               
                return arrayAdapter;
        }
}

Quando avvio l'applicazione questa crasha dandomi il seguente messaggio di errore che non riesco a spiegarmi:


09-12 18:49:03.870: ERROR/AndroidRuntime(491): java.lang.RuntimeException: Unable to start activity ComponentInfo{test.testtt/test.testtt.TestlayoutActivity}: android.view.InflateException: Binary XML file line #80: Error inflating class spinner


mmm boooo...mi sembra molto strano...in teoria dovrebbe funzionare...cosa c'è che non và? forse ho fatto qualche errore?

Tnx
Andrea

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Re:Errore nell'inserimento di uno spinner in un layout
« Risposta #1 il: 12 Settembre 2011, 21:18:47 CEST »
0
Risolto da solo...Spinner è con la S maiuscola...che idiota  :-X