J'ai un ListView qui prend les données de la base de données sqlite. Maintenant, je veux définir quand je clique longtemps sur un élément dans la liste, je vais pouvoir supprimer ou mettre à jour l'élément.Action après un long clic sur listview (Android Studio)
J'ai réussi à faire le ContextMenu, mais je ne sais pas comment faire l'action après avoir cliqué sur mettre à jour ou supprimer.
DataListActivity.java - L'activité du listview
public class DataListActivity extends ActionBarActivity {
ListView listView;
SQLiteDatabase sqLiteDatabase;
CourseDbHelper courseDbHelper;
Cursor cursor;
ListDataAdaptar listDataAdaptar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_list_layout);
listView = (ListView) findViewById(R.id.list_view);
listDataAdaptar = new ListDataAdaptar(getApplicationContext(),R.layout.row_layout);
listView.setAdapter(listDataAdaptar);
registerForContextMenu(listView);
courseDbHelper = new CourseDbHelper(getApplicationContext());
sqLiteDatabase = courseDbHelper.getReadableDatabase();
cursor = courseDbHelper.getInformation(sqLiteDatabase);
registerForContextMenu(listView);
if (!cursor.moveToFirst()){
}
else {
do {
String year,semester,course,points,grade;
year = cursor.getString(0);
semester = cursor.getString(1);
course = cursor.getString(2);
points = cursor.getString(3);
grade = cursor.getString(4);
DataProvider dataProvider = new DataProvider(year,semester,course,points,grade);
listDataAdaptar.add(dataProvider);
}
while (cursor.moveToNext());
}
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_data_list, menu);
}
}
menu_data_list.xml
<menu 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"
tools:context="com.example.ido.grades.DataListActivity">
<item android:id="@+id/update_item" android:title="@string/update"
android:orderInCategory="100" app:showAsAction="never" />
<item android:id="@+id/delete_item" android:title="@string/delete"
android:orderInCategory="100" app:showAsAction="never" />
</menu>
pic: http://i.stack.imgur.com/eCUzQ.png
Remplacer la méthode 'onOptionsItemSelected' et vous pouvez supprimer ou mettre à jour l'article de l'adaptateur à l'aide de cas de commutation. Voici le lien: http://developer.android.com/guide/topics/ui/menus.html#RespondingOptionsMenu –