模仿QQListView左滑删除置顶Item
解决方法很简单,就是在更新Listview的时候,不要使用setAdapter,如果这样位置就会置顶了;需要更新ListView的时候,使用Adapter对象的notifyDataSetChanged方法吧。 使用notifyDataSetChanged方法的时候注意了,更新列表是所有列表项都会被更新,这里存在一个性能上 的问题,所以如果你需要改变的只是单一个列表项,建议不要使用notifyDataSetChanged方法,转而使用获得该列表项后,然后对里面的控件 进行调整吧。 有些时候调用notifyDataSetChanged方法后,getView并没有自行调用,这时候的解决办法是调用listview的requestLayout方法即可。 /** * 置顶 * * @param position */ private void setTop(int position) { list.get(position).setSetTop("取消置顶"); list.add(0, list.get(position)); // 置顶后list.size增加一 所以要position+1 list.remove(position + 1); adapter.notifyDataSetChanged(); } /** * 取消置顶 * * @param position */