steph68 Posté(e) 16 août 2012 Posté(e) 16 août 2012 salut! je débute sous android et je me heurte à un problème avec un spinner! j'ai bien le bouquin de Mark Murphy (3ème edition), d'où j'ai récupéré un code de démo qui fonctionne bien chez lui. problème: ses exemples sont simples et ne comportent toujours qu'une activité, une classe & un fichier de layout xml! or mon exemple à moi comprend 3 classes -> la principale -> spinner1 -> spinner2 et mes deux spinners restent désespérement vide! je suppose qu'il manque "un lien" qq part entre mes différents fichiers...... MAIN.XML <?xml version="1.0" encoding="utf-8"?> <!-- TABLE LAYOUT pour saisie ville + bouton même ligne... sachant qu'un TL se transforme en LINEAR LAYOUT (vertical) entre ses balises <table row> --> <TableLayout xmlns:android="http://schemas.andro...pk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/bois" android:stretchColumns="1" > <TextView android:id="@+id/selection" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- ***************************** --> <!-- ligne saisie ville + chercher --> <!-- ***************************** --> <TableRow> <EditText android:id="@+id/entry" android:layout_span="3" android:hint="Entrer une ville" android:contentDescription="Entrer une ville" android:capitalize="words" android:inputType="textAutoCorrect" /> <Button android:id="@+id/go" android:layout_column="2" android:contentDescription="lancer la recherche sur la ville" android:text="chercher" /> </TableRow> <!-- *********************** --> <!-- ligne GEOLOCALLISATION --> <!-- *********************** --> <TableRow> <Button android:id="@+id/geoloc" android:layout_column="1" android:layout_width="fill_parent" android:layout_span="3" android:text="me géolocaliser" /> </TableRow> <!-- ****************** --> <!-- ligne DEPARTEMENTS --> <!-- ****************** --> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Choisir un département:" android:textAppearance="?android:attr/textAppearanceMedium" /> <Spinner android:id="@+id/spinner1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:contentDescription="choisir un département" android:prompt="@string/choix_departement" tools:listitem="@android:layout/simple_spinner_item" /> <!-- ************* --> <!-- ligne REGIONS --> <!-- ************* --> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Choisir une région:" android:textAppearance="?android:attr/textAppearanceMedium" /> <Spinner android:id="@+id/spinner2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:hint="choisir une région" android:contentDescription="choisir une région" android:prompt="@string/choix_region" tools:listitem="@android:layout/simple_spinner_item" /> </TableLayout> TEST.JAVA package com.bidule.mobi; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.Menu; import android.widget.EditText; import android.widget.Toast; public class test extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } } SPINNERDEPARTEMENTS.JAVA package com.bidule.mobi; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; public class SpinnerDepartements extends Activity implements AdapterView.OnItemSelectedListener { private TextView selection; private static final String[] items={"-choisir un département-","lorem1", "ipsum1", "dolor1", "sit1", "amet1", "consectetuer1"}; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); selection=(TextView)findViewById(R.id.selection); Spinner spin=(Spinner)findViewById(R.id.spinner1); spin.setOnItemSelectedListener(this); ArrayAdapter<String> aa=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items); aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spin.setAdapter(aa); } public void onItemSelected(AdapterView<?> parent,View v, int position, long id) { selection.setText(items[position]); } public void onNothingSelected(AdapterView<?> parent) { selection.setText(""); } } SPINNERREGIONS.JAVA package com.bidule.mobi; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; public class SpinnerRegions extends Activity implements AdapterView.OnItemSelectedListener { private TextView selection; private static final String[] items={"-choisir une région-","lorem2", "ipsum2", "dolor2", "sit2", "amet2", "consectetuer2"}; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); selection=(TextView)findViewById(R.id.selection); Spinner spin=(Spinner)findViewById(R.id.spinner2); spin.setOnItemSelectedListener(this); ArrayAdapter<String> aa=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items); aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spin.setAdapter(aa); } public void onItemSelected(AdapterView<?> parent,View v, int position, long id) { selection.setText(items[position]); } public void onNothingSelected(AdapterView<?> parent) { selection.setText(""); } } mon, problème: les spinners restent vides! pourquoi? toutes infos sera bonne à prendre! merci.
steph68 Posté(e) 16 août 2012 Auteur Posté(e) 16 août 2012 OU si j'ai vraiment tout faut méthodologiquement parlant, il faut juste me remettre sur les (bons) rails... :P ce que je voudrais faire (peut être + facile à comprendre pour vous que mon code brut ci-dessus): -> 1 champs de saisie d'une ville -> 1 bouton de lancement de la recherche en base -> 1 spinner pour le choix du département + récup de la valeur pour recherche en base -> 1 spinner pour le choix de la région + récup de la valeur pour recherche en base voilà! B)
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.