steph68 Posté(e) 16 août 2012 Share 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph68 Posté(e) 16 août 2012 Auteur Share 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.