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