Bonjour,
le code ci-joint fonctionne correctement.
je veux récuperer par un onItemlongClick la valeur de la ListView. j'ai essayé
pas mal de méthode sans résultat.
pouvez vous m'aiguiller
ci-joint mon code
le nom de la base et le package ont été enlever volontairement
AccesBD.java
DatabaseHelper.java
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 package ; import android.app.TabActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TabHost; import android.widget.Toast; public class AccesBD extends TabActivity { DatabaseHelper db; /** * Met à jour la liste au démarrage de l'activite */ public void updateList() { DatabaseHelper dbCon = new DatabaseHelper(this); final ListView listeNom = (ListView) this.findViewById(android.R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, dbCon.getconcession() ); listeNom.setAdapter(adapter); } //création du context menu public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menucontextuel, menu); } //selection d'un item du menu @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.itemsupp: //Toast.makeText(this, "selection : "+item1, Toast.LENGTH_LONG).show(); Toast.makeText(this, "selection "+info+" ", Toast.LENGTH_LONG).show(); // db.supprimerConcession(info.id); break; default: return super.onContextItemSelected(item); } return true; } protected void onDestroy() { db.close(); super.onDestroy(); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ecran1); db = new DatabaseHelper(this); updateList(); registerForContextMenu((ListView)findViewById(android.R.id.list)); // Mise en place des onglets { TabHost monTabHost = getTabHost(); monTabHost.addTab( monTabHost.newTabSpec("tab1") .setIndicator("Ajouter une Concession") .setContent(R.id.tabAjoutconcession) ); monTabHost.addTab( monTabHost.newTabSpec("tab2") .setIndicator("Liste des Concessions") .setContent(R.id.tabListeconcession) ); monTabHost.setCurrentTab(0); } // Mise en place de la gestion des événements { Button btnCreer = (Button) findViewById(R.id.btnCreer); btnCreer.setOnClickListener(new BtnCreer(this)); } { Button btnAnnul = (Button) findViewById(R.id.btnAnnul); btnAnnul.setOnClickListener(new BtnAnnul(this)); } } }
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 package ; import java.util.ArrayList; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DatabaseHelper extends SQLiteOpenHelper { private static String DATABASE_NAME = "nombase.db"; private static final int DATABASE_VERSION = 1; private SQLiteDatabase db; private static String TABLE_CONCESSION = "concession"; DatabaseHelper DBHelper; /** * Script SQL de création de la table Concession */ private static String CREATE_TABLE_CONCESSION = "create table " + TABLE_CONCESSION + " (" + "id_nom integer PRIMARY KEY AUTOINCREMENT," + "nom VARCHAR(30) NOT NULL," + "numstock VARCHAR(10) NOT NULL" + ")"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); db = getWritableDatabase(); } /** * Exécuté si la DB n'existe pas. */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_CONCESSION); } /** * Exécuté chaque fois que le numéro de version de DB change. */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONCESSION); onCreate(db); } public void close(){ db.close(); } public void Truncate() { db.execSQL("DELETE FROM concession"); } /** * Insère une concession dans la DB sur base */ public long insertUser( concession user) { ContentValues userToInsert = new ContentValues(); userToInsert.put("nom", user.getNom()); userToInsert.put("numstock", user.getNumstock()); return db.insert(TABLE_CONCESSION, null, userToInsert); } public boolean supprimerConcession(long id){ return db.delete("concession", "nom="+id, null)>0; } /** * Charge le contenu de la table concession * et retourne ce contenu sous la forme d'une liste de NOM + " " + NUMSTOCK; */ public ArrayList<String> getconcession() { ArrayList<String> output = new ArrayList<String>(); String[] colonnesARecup = new String[] { "nom", "numstock" }; Cursor cursorResults = db.query(TABLE_CONCESSION, colonnesARecup, null, null, null, null, "nom asc, numstock ", null); if (null != cursorResults) { if (cursorResults.moveToFirst()) { do { int columnIdxNom = cursorResults.getColumnIndex("nom"); int columnIdxNumstock = cursorResults.getColumnIndex("numstock"); //String nomNumstock = cursorResults.getString(columnIdxNom) // + " - " + cursorResults.getString(columnIdxNumstock); //output.add(nomNumstock); String nom = cursorResults.getString(columnIdxNom); String numstock = cursorResults.getString(columnIdxNumstock); output.add(nom); output.add(numstock); } while (cursorResults.moveToNext()); } } return output; } }
Partager