关于#android#的问题,如何解决?(语言-java)

 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);
    }
}