Bonjour, je cherche à faire une ListView pour un projet de fin de formation. Cette list doit afficher des parcours de randonné. Avec dedans, le nom du parcours, le temps moyen, la durée, et la distance du parcours.

Mais voila, je pensé utiliser la fonctionnalité HashMap pour ça, et voulant d’abord m'exercer, j'ai fait une activité affichant juste un nom et un prénom. mais l'application plante directement, le debug ne m'en dit pas plus, et le code ne semble pas afficher d'erreur. Voici le code ainsi que les layouts :

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
 
import android.app.Activity;
import android.widget.ListView;
import android.widget.SimpleAdapter;
 
import java.util.ArrayList;
import java.util.HashMap;
 
public class MainActivity extends Activity {
 
    private SimpleAdapter mSchedule;
 
    public MainActivity(){
        ListView list_parcours = (ListView) findViewById(R.id.listView);
        ArrayList<HashMap<String, String>> list = new ArrayList<>();
        HashMap<String, String> map = new HashMap<>();
 
        map.put("nom","Martin");
        map.put("prenom","Julien");
        list.add(map);
 
        mSchedule  = new SimpleAdapter(this, list, R.layout.list_row,
                new String[] {"nom", "prenom"}, new int[] {R.id.nom, R.id.prenom});
        list_parcours.setAdapter(mSchedule);
    }
}
le content_main :

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
 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="theo.com.listbd.MainActivity"
    tools:showIn="@layout/activity_main">
 
 
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>
le layout de la list :

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
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/nom" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/prenom" />
</LinearLayout>
Je suis nouveau sur le site, si j'ai mal expliqué mon problème, n’hésitez pas à me le faire savoir ^^