} }); /** * Extra menu information provided to the * {@link android.view.View.OnCreateContextMenuListener#onCreateContextMenu(ContextMenu, View, ContextMenuInfo) } * callback when a context menu is brought up for this AdapterView. * */ public static class AdapterContextMenuInfo implements ContextMenu.ContextMenuInfo { public AdapterContextMenuInfo(View targetView, int position, long id) { this.targetView = targetView; this.position = position; this.id = id; } ....
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
ListItem listitem = (ListItem) adapterView.getItemAtPosition(i);
if (listitem != null) {
//your code
}
return true;
}
l.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
}
});
/**
* Extra menu information provided to the
* {@link android.view.View.OnCreateContextMenuListener#onCreateContextMenu(ContextMenu, View, ContextMenuInfo) }
* callback when a context menu is brought up for this AdapterView.
*
*/
public static class AdapterContextMenuInfo implements ContextMenu.ContextMenuInfo { public AdapterContextMenuInfo(View targetView, int position, long id) {
this.targetView = targetView;
this.position = position;
this.id = id;
}
....
我的是长按事件 大神求详解我前面的回答是有错的,你的做法没有问题。(没有实例调试,抱歉)
实际问题在于 你改变了某一项上的ImageView 的值,
然而ListView 是个item 不断重用的控件,你改了item 1 ,往下滚,item5出现,item1 消失,
这时item5是重用item1的控件, 此时图片是你改过的
你必须额外保存imageView的图片状态,并在getView中重新绑定。