Aller au contenu

Spinner & initialisation de la liste - help débutant


Recommended Posts

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...... calim2.gif

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! icon_cry.gif

pourquoi? calim2.gif

toutes infos sera bonne à prendre! icon_wink.gif

merci.

ccool.gif

Lien vers le commentaire
Partager sur d’autres sites

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...