récupérer par un click la valeur d'une listView
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
Code:
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));
}
}
} |
DatabaseHelper.java
Code:
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;
}
} |