0
@Override  
 public boolean onContextItemSelected(MenuItem item) {  
  if(item.getTitle()=="Remove"){
   AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
   quotesAdapter.remove(quotes.get((int)info.id));
   quotesAdapter.notifyDataSetChanged();
   listView.setAdapter(quotesAdapter);
   serializeQuotes();
  }  
  else {
   return false;
  }  

  return true;  
 }  

何もしません。追加すると

this.quotesAdapter = new QuoteAdapter(this, R.layout.mainrow, quotes);

削除は機能しますが、正しい方法ではないと思います。何が悪いのかわからない?

4

1 に答える 1

0

quotesが Java 配列の場合、実行時に変更できません。ArrayList<>代わりにを使用してみてください。

quotesが の場合Cursor、基になるデータベースから行を削除してからrequery()Cursor.

于 2010-08-31T23:17:32.637 に答える