单击Android按钮时,在ListView的行内显示删除按钮

时间:2015-07-21 07:12:21

标签: java android

我需要在ListView内部实现一种Slide to Delete,但我想要的不是滑动行,而是当用户点击行内的按钮时,删除按钮应显示。可能吗?我已经实现了Button,我知道当用户按下它时,我几乎不知道如何从行的右侧实现删除按钮幻灯片。 有人可以给我一个关于如何开始的想法吗?

2 个答案:

答案 0 :(得分:0)

如果您不想要滑动删除,那么实现非常简单。

基本上你会在点击按钮时显示/隐藏该按钮。

由于Android ListView重用了Views,如果你在onItemClick()中显示/隐藏ListItem视图的按钮,那么当滚动列表时,状态将会丢失并导致不正确的行为。

所以我们需要在Adapter的模态类中维护这个选择状态。只需在模态类中添加选中的字段即可。例如,如果您要显示联系人对象的列表,那么您的模态类就会像,

class Contact {

  private String name;

  private String number;

  private boolean selected;

  ..........

} 

答案 1 :(得分:0)

从我的理解;你需要实现让我们说一个编辑按钮,然后当用户点击它时,它将消失,另一个名为delete的按钮将在同一位置弹出而不是它。

这是实现这一目标的可能方法:

list_view_adapter.xml

1 - 创建一个框架布局,包含两个相互重叠的按钮。

删除按钮的2 - 默认状态是GONE - >机器人:能见度= “水涨船高”

3 - 按下编辑时,将显示删除按钮,您将以编程方式将Edit可见性设置为GONE

设置删除按钮:

@Override
public View getView(final int pos, View convertView, ViewGroup parent) {

    View v = convertView;

    // Some other things...

    Button delete = (Button) v.findViewById(R.id.delete);

    delete.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

       // After you delete the object from Parse database here,
       notifyDataSetChanged();

    }
}