Bonjour,

Je fais une petite appli utilisant SQLIte....tout fonctionne bien, mais j'arrive sur un problème pour la gestion des data.

Je m'explique, j'ai un ecran de creation de joueurs(objet),
qui est composé de deux tab...un tab pour chaque équipe.

et un bouton vers un listView listant tous les joueurs.
La création ainsi que la récupération et l'affichage des joueurs fonctionne très bien.

Mon problème est le suivant :

Je crée des joueurs, si je clique sur lister les joueurs, comme dis plus haut ca fonctionne, je reviens en arrière, je CHANGE de TAB, et d'intent par la même occasion, et là si je vais sur lister les joueurs....PAF...plus rien , pas d'erreur , mais liste vide...alors que j'appelle la même activité, et la même requete getAllPlayer()...


Je vous joins le code qui remplis la listView :

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
public class PlayerListActivity extends Activity{
 
	ListView listPlayerListView;
	StreetDatabase db = new StreetDatabase(this);
 
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.player_list);
 
		db.getWritableDatabase();
		List<Player> listPlayers = db.getAllPlayer();
 
		listPlayerListView = (ListView) findViewById(R.id.listViewPlayerList);
 
        // Création de la ArrayList qui nous permettra de remplire la listView
        ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
 
        // On déclare la HashMap qui contiendra les informations pour un item
        HashMap<String, String> map;
 
        for (Player pl : listPlayers) {
 
               String log = "Id: " + pl.getId()+ " ,Name: " + pl.getName()
                             + " ,Number: " + pl.getNumber()
                             + " ,Number: " + pl.getTeam();
               // Writing Contacts to log
               Log.d("Name: ", log);
 
               // Création d'une HashMap pour insérer les informations du premier
               // item de notre listView
               map = new HashMap<String, String>();
 
               map.put("name", pl.getName());
               map.put("number", pl.getNumber());
               map.put("team", pl.getTeam());
               // enfin on ajoute cette hashMap dans la arrayList
 
               listItem.add(map);
 
               db.close(); 
        }
 
        // Récupération de la listview créée dans le fichier main.xml
        SimpleAdapter mSchedule = new SimpleAdapter(this.getBaseContext(),
                      listItem, R.layout.player_details, new String[] {"name",   "number", "team" },
                      new int[] { R.id.textViewPlayerDetailsName, R.id.textViewPlayerDetailsNumber, R.id.textViewPlayerDetailsTeam });
        // On attribut à notre listView l'adapter que l'on vient de créer
        listPlayerListView.setAdapter(mSchedule);
 
 
	}
 
}

l'activité de création des joueurs :

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
public class TeamCreationActivity extends Activity{
 
	EditText playerName;
	EditText playerNumber;
 
	Button saveButton;
	Button playerListButton;
 
	StreetDatabase db;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.team_creation);
 
		Toast.makeText(getBaseContext(), getIntent().getExtras().get("sport").toString()
				+ " " + getIntent().getExtras().get("periodNumber").toString() 
				+ " " + getIntent().getExtras().get("periodDuration").toString()
				+ " " + getIntent().getExtras().get("tag").toString(), Toast.LENGTH_SHORT).show();
 
 
		playerName = (EditText) findViewById(R.id.editTextPlayerName);
		playerNumber = (EditText) findViewById(R.id.editTextPlayerNumber);
		saveButton = (Button) findViewById(R.id.buttonPlayerSave);
		playerListButton = (Button) findViewById(R.id.buttonPlayerList);
 
 
		db = new StreetDatabase(getBaseContext());
		db.deleteAllPlayers(db.getWritableDatabase());
 
		saveButton.setOnClickListener(new OnClickListener() {
 
			public void onClick(View v) {
 
				Player player = new Player();
				player.setName(playerName.getText().toString());
				player.setNumber(playerNumber.getText().toString());
				player.setTeam(getIntent().getExtras().getString("tag").toString());
 
				db.addPlayer(player);
 
				playerName.setText("");
				playerNumber.setText("");
 
				playerName.requestFocus();
 
				db.close();
 
			}
		});
 
		playerListButton.setOnClickListener(new OnClickListener() {
 
			public void onClick(View v) {
 
				Intent intent = new Intent(TeamCreationActivity.this, PlayerListActivity.class);
				startActivity(intent);
 
			}
		});
 
	}
 
}

J'espère que quelqu'un pourra m'aider.

Merci