我正在使用47deg / android-swipelistview,我完全使用模式SWIPE_ACTION_DISMISS。
但是在另一个活动中我需要使用带有删除按钮的SWIPE_ACTION_REVEAL。 所以要删除一个元素,在适配器中我这样做:
public View getView(int position,View convertView,ViewGroup parent){
final int pos = position;
final View conv = convertView;
final ViewGroup par = parent;
//View v = convertView;
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.afficheitem_swipecontact, parent, false);
holder = new ViewHolder();
holder.bloquer = (Button) convertView.findViewById(R.id.bloquer);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
((SwipeListView)parent).recycle(convertView, position);
// Get item
BeanMembre membre = (BeanMembre) getItem(position);
holder.membreName.setText(membre.getPseudo());
holder.bloquer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, R.string.bloquer, Toast.LENGTH_SHORT).show();
listMembre.remove(pos);
notifyDataSetChanged();
}
});
return convertView;
当我这样做时,元素被删除但列表的项目不刷新。我必须向下滚动才能看到新元素。 我没有在网上,在堆栈或样本中找到这样做的方法。
你有alerady这样做吗?你有样品吗?我是否需要从适配器调用dismiss方法来生成dismiss动画?
谢谢。
答案 0 :(得分:0)
我找到了。请参阅下面的解决方案
holder.supprimer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, R.string.supprimer, Toast.LENGTH_SHORT).show();
//we can call dismmiss method like this.
((SwipeListView)par).dismiss(pos,true);
}
});