android中(java语言)给一个listview添加了上下文菜单,其中菜单项有“关注”,怎样实现点击“关注”把选中项在列表中置顶,改变背景来区分,对于已关注的,“关注”上下文菜单项变更为“取消关注”
点击时修改下数据,刷新适配器不就行了?
最好自定义列表项组件,组件由标签和按钮(或其它)组成。添加点击事件(用if判断实现关注与未关注状态互换)。同时列表组件添加一个选项改变事件。判断所有项的状态,将关注状态的项移动到前面
不知道是否理解题主的意思了,但是我觉得这个很简单呀,就是在菜单响应函数中,进行数据操作,然后进行adapter.notifyDataSetChanged()调用就可以了
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId())
{
case ITEM1:
//进行数据操作
//通知适配器更新
adapter.notifyDataSetChanged();
break;
case ITEM2:
list.add("I am android !");
adapter.notifyDataSetChanged();
break;
case ITEM3:
Toast.makeText(getApplicationContext(), "I am android !", Toast.LENGTH_SHORT).show();
break;
}
return super.onContextItemSelected(item);
}
}