Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ListAdapter中删除项目不起作用_Java_Android_Listview_Android Arrayadapter_Listadapter - Fatal编程技术网

Java 从ListAdapter中删除项目不起作用

Java 从ListAdapter中删除项目不起作用,java,android,listview,android-arrayadapter,listadapter,Java,Android,Listview,Android Arrayadapter,Listadapter,什么都不做。如果我加上 this.QuoteAdapter=new QuoteAdapter(this,R.layout.mainrow,quotes) 移除是可行的,但我认为这不是正确的做法。我不确定出了什么问题?如果quotes是一个Java数组,在运行时是不可修改的。尝试改用ArrayList 如果quotes是光标,则需要从基础数据库中删除该行,然后requery()光标quotes是使用info.position的ArrayList,而不是info.id位置是数组中的索引id可能没有值

什么都不做。如果我加上

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


移除是可行的,但我认为这不是正确的做法。我不确定出了什么问题?

如果
quotes
是一个Java数组,在运行时是不可修改的。尝试改用
ArrayList


如果
quotes
光标
,则需要从基础数据库中删除该行,然后
requery()
光标

quotes是使用
info.position
的ArrayList,而不是
info.id
<代码>位置是数组中的索引
id
可能没有值。info.position和id都返回一个值,因为我可以将对象打印到控制台。不幸的是,它仍然没有从列表中删除。
@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;  
 }