Java 单击按钮时在列表视图的行内显示删除按钮
我需要在我的Java 单击按钮时在列表视图的行内显示删除按钮,java,android,Java,Android,我需要在我的ListView中实现一种幻灯片来删除,但我不想滑动行,但当用户单击行内的按钮时,应该会显示删除按钮。可能吗?我已经实现了按钮,我知道用户何时按下它,但我几乎不知道如何实现从行右侧开始的删除按钮幻灯片。 有人能告诉我如何开始吗?如果您不想滑动删除,那么实现非常简单 基本上你会在点击按钮时显示/隐藏那个按钮 由于Android ListView重用视图,如果在onItemClick()中显示/隐藏ListItem视图的按钮,则当滚动列表时,状态将丢失,并将导致错误行为 因此,我们需要在
ListView
中实现一种幻灯片来删除,但我不想滑动行,但当用户单击行内的按钮时,应该会显示删除按钮。可能吗?我已经实现了按钮
,我知道用户何时按下它,但我几乎不知道如何实现从行右侧开始的删除按钮幻灯片。
有人能告诉我如何开始吗?如果您不想滑动删除,那么实现非常简单 基本上你会在点击按钮时显示/隐藏那个按钮 由于Android ListView重用视图,如果在onItemClick()中显示/隐藏ListItem视图的按钮,则当滚动列表时,状态将丢失,并将导致错误行为 因此,我们需要在适配器的模态类中维护此选择状态。只需在modal类中添加一个类似selected的字段。例如,如果您正在显示联系人对象的列表,那么您的模态类将如下所示:
class Contact {
private String name;
private String number;
private boolean selected;
..........
}
如果不希望滑动删除,那么实现非常简单 基本上你会在点击按钮时显示/隐藏那个按钮 由于Android ListView重用视图,如果在onItemClick()中显示/隐藏ListItem视图的按钮,则当滚动列表时,状态将丢失,并将导致错误行为 因此,我们需要在适配器的模态类中维护此选择状态。只需在modal类中添加一个类似selected的字段。例如,如果您正在显示联系人对象的列表,那么您的模态类将如下所示:
class Contact {
private String name;
private String number;
private boolean selected;
..........
}
据我所知;您需要实现一个编辑按钮,当用户单击它时,它将消失,另一个名为“删除”的按钮将弹出,而不是在同一位置 以下是实现这一目标的可能方法: 在
列表\u视图\u adapter.xml中
:
1-创建一个框架布局,将两个按钮放在一起
2-删除按钮的默认状态已消失->android:visibility=“消失”
3-当按下编辑按钮时,删除按钮将可见,您将通过编程方式将edit
可见性设置为GONE
4-设置删除按钮:
@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();
}
}
据我所知;您需要实现一个编辑按钮,当用户单击它时,它将消失,另一个名为“删除”的按钮将弹出,而不是在同一位置 以下是实现这一目标的可能方法: 在
列表\u视图\u adapter.xml中
:
1-创建一个框架布局,将两个按钮放在一起
2-删除按钮的默认状态已消失->android:visibility=“消失”
3-当按下编辑按钮时,删除按钮将可见,您将通过编程方式将edit
可见性设置为GONE
4-设置删除按钮:
@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();
}
}
追随