onItemLongClick メソッドを使用してリストビュー項目を削除する機能は既にありましたが、これを行うにはフローティング コンテキスト メニューを使用したいと思います。
以下は、フローティングコンテキストメニュー用に現在持っているコードです。私はそれをセットアップするのに役立つドキュメントに従い、次に私がやっていることと同様の例を検索しようとしましたが、適切なものを見つけることができませんでした.
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.payments_context, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.edit:
return true;
case R.id.delete:
return true;
default:
return super.onContextItemSelected(item);
}
}
これは、フローティング コンテキスト メニューに切り替える前に、リストビュー内の項目を削除する必要があったコードです。
public boolean onItemLongClick (AdapterView<?> parent, View view, int position, long id)
{
String temp = paymentTitle.get(position).toString();
paymentTitle.remove(position);
paymentDate.remove(position);
reminderDate.remove(position);
reminderTime.remove(position);
paymentVal.remove(position);
mDatabase = new MOSDatabase(this);
SQLiteDatabase readableDB = mDatabase.getWritableDatabase();
readableDB.delete("PaymentTable", "PTITLE=?",
new String[]{temp});
aa.notifyDataSetChanged();
return false;
}
このフローティング コンテキスト メニューを機能させる方法について誰かがアドバイスしてくれたら、本当に感謝しています。編集方法はまだ完了していません。これは、これが完了した後に行う必要があります。