Bonjour,
mon problème du jour est pourtant Ô combien simple, et je m'arrache les cheveux depuis hier après midi.

Dans mon application, l'actionbar a un element qui affiche une Alertdialogue.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
AlertDialog.Builder buildersemaine = new AlertDialog.Builder(this);
buildersemaine.setTitle("Selectionnez une semaine : ");
j'aimerais afficher une liste d'éléments texte provenant d'un ArrayList<String>.
Vous vous en doutez peut etre, les éléments contenus dans cette liste varient.
En fait cette liste contient 52 chaines de caractères du type "Semaine 1 du 3 janvier au 9 janv", "Semaine 2 du 7 janvier au 13 janvier"
ce que je désire, c'est que lorsque l'utilisateur clique sur un élement, c'est récupérer le numéro de la semaine (normalement la position dans l'arrlist de l'élément +1 (car la liste débute à 0 bien sûr)

Je suis depuis hier midi en train de me casser la tête sur ce "soucis" pourtant si simple en html ^^.

Je me suis inspiré de : http://www.developpez.net/forums/d10...-alertedialog/
Cependant le script plante au moment ou je tente d'affecter une valeur textuelle.

j'ai créé un objet héritant de BaseAdapter.
la méthode getView est ré écrite ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		LinearLayout monlayout = new LinearLayout(context);
		Myholder myholder;
 
		if(convertView == null){
			LayoutInflater inflater = context.getLayoutInflater();
			monlayout = (LinearLayout) inflater.inflate(R.layout.modellistevent, null);
			myholder = new Myholder(events.get(position));
			monlayout.setTag(myholder);
			myholder.label = (TextView) monlayout.findViewById(R.id.labelliste);
 
 
		}
		else{
			monlayout = (LinearLayout)convertView;
			myholder = (Myholder) monlayout.getTag();
			Toast.makeText(this.context, "non null", Toast.LENGTH_SHORT).show();
 
		}
 
		myholder.label.setText("chose");
 
		return monlayout;
	}
à partir du moment où je tente d'affecter une valeur au label, plantage. (texte du genre "coucou" ou la chaine venant de de mon arraylist events.)

ha j'allais oublier :
Cela correspond à modellisteevent.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <TextView android="@+id/labelliste"
        android:layout_width="match_parent"
    android:layout_height="35dp"
    android:text="bidule" />
 
</LinearLayout>
Sincèrement, je trouve cette façon de faire bien compliquée ^^".
me suis-je trompée de voie ?

bref pour ré-expliquer "simplement" : je cherche à faire exactement la même chose qu'avec un CharSequence[] car je pourrais récupérer au clic sur un élément : DialogInterface dialog, int elm, et grâce à elm, connaitre le numéro de semaine. Mais comme mes chaines de caractères vont varier (on change toute la liste), je suis obligé d'utiliser un Arraylist.
merci à toute aide que vous pourrez me fournir.