怎么实现listview中的每个item同时左右滑动功能?

怎么实现listview中的每个item同时左右滑动功能?
一个列表listview现在需要做的是,实现左右滑动时,该列表中的每个item都跟着左右滑动。
在线急等

NineOldAndroids,你用这个就行,网上有实例代码的

listview横向滚动?
外部嵌套一个scrollview

主要是在ListView的item在HorizontalScrollView中,设置其中的一个控件的宽度为屏幕的宽度就可以了。我的ListView中的item是一个TextView,两个Button。实现的是类似于QQ聊天的那种,如果你想要实现左右滑动的话,可以在函数中(getView中试试)将左边的控件的设置为unvisible,中间显示的控件宽度设置为屏幕的宽度,然后为ListView的item设置左右滑动监听,一旦触发左滑,那么左边的控件就显示出来了。
重写SimpleAdapter(也可以是其他的适配器)的getView函数:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder view = new ViewHolder();
convertView = inflater.inflate(rescourceId, parent, false);
/*这一句会使这里面的修改在引用这个适配器时有效*/
view.item = (TextView) convertView.findViewById(R.id.item);
view.item.setWidth(getScreenWidth());
/*设置为屏幕宽度*/
view.item.setText(listData.get(position).get("big").toString());
view.item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickListener.changeState(position);
}
});

    view.deleteButton = (Button) convertView.findViewById(R.id.deleteButton);
    view.deleteButton.setText(listData.get(position).get("delete").toString());
    view.deleteButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            clickListener.deleteClick(position);
        }
    });

    view.navigateButton = (Button) convertView.findViewById(R.id.navigateButton);
    view.navigateButton.setText(listData.get(position).get("navigate").toString());
    view.navigateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            clickListener.navigateClick(position);
        }
    });
    return convertView;
}

    /*以下是要放在listView的item中的控件组合*/
class ViewHolder {
    TextView item;
    Button navigateButton;
    Button deleteButton;
}

    /*按钮的监听接口,你可以根据自己的需要比如左滑事件、右滑事件等进行修改*/
public interface onItemClickListener {
    void deleteClick(int i);  /*删除事件*/

    void changeState(int i);    /*点击TextView事件*/

    void navigateClick(int i);/*点击导航事件*/
}


public void setOnItemClickListener(onItemClickListener mOnItemDeleteListener) {
    this.clickListener = mOnItemDeleteListener;

}

    然后再Activity的页面初始化中去实现接口回调:
    adapter1.setOnItemClickListener(new UnsolvedSimpleAdapter.onItemClickListener() {
        @Override
        public void deleteClick(int i) {
            /*如果map1和map2中的map对象的键不一样,那么添加的列会在手机上显示空白选项*/
            if (MapList1.size() > 0) {
                MapList1.remove(i);
                adapter1.notifyDataSetChanged();
            }
        }

        @Override
        public void changeState(int i) {
            if (MapList1.size() > 0) {
                MapList2.add(MapList1.get(i));
                MapList1.remove(i);
                adapter1.notifyDataSetChanged();
                adapter2.notifyDataSetChanged();
                /*使用adapter2为空或者其指向的数据源为空,或与ListView断开联系等情况都会导致闪退*/
            }
        }
    });