Jump to content

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

Link to comment
Share on other 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)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...