Android Listview上的删除按钮

Android Listview上的删除按钮,android,listview,Android,Listview,在我的android应用程序中,我有一个列表视图,可以从中删除项目 在同一屏幕上。“删除”按钮位于列表视图的底部 还有一个用于删除项目和刷新列表视图的函数。 正在列表视图的onClick()中调用此函数。 这就是问题所在 在delete按钮的onClick中,我首先检查了是否知道要删除哪个项目- if (ListView.INVALID_POSITION != mListView.getSelectedItemPosition()) { //delete the selected item }

在我的android应用程序中,我有一个列表视图,可以从中删除项目 在同一屏幕上。“删除”按钮位于列表视图的底部 还有一个用于删除项目和刷新列表视图的函数。 正在列表视图的
onClick()
中调用此函数。 这就是问题所在

在delete按钮的
onClick
中,我首先检查了是否知道要删除哪个项目-

if (ListView.INVALID_POSITION != mListView.getSelectedItemPosition()) {
 //delete the selected item
}else{
 //do nothing
}
因此,每当用户点击删除按钮时,列表视图中的焦点将被移除,并且列表视图位置无效,因此该项不会被删除

我还尝试将所选项的值存储在常量中,并在列表视图的
onItemSelected()
方法中更新它,然后从Delete按钮的onClick中删除该条件 。这可以工作,但会导致另一个问题-如果用户点击空白区域,则列表视图中的焦点将被删除,并且似乎未选择任何内容,但如果按delete按钮,则会删除最后选定的项目,因为它来自常量

这就是我面临的问题。
请建议如何操作。

选择仅在键盘模式下有用,在触摸模式下关闭,因此,
getSelectedItemPosition()
并不总是可靠的

读一下这本书中的“做”和“不做”


如果要使用单个按钮,请将
ListView
选择模式设置为single/Mutliple,然后单击按钮,获取选中的项目并将其删除,然后刷新
ListView

尝试实现
onitemclickListener()
获取项目id,并通过为按钮和下一个调用
适配器实现
onclick()
来删除在arrayadapter中单击的项目。notifyDataSetChanged()

您使用的是自定义listview还是简单listview?@ankit您必须创建自定义适配器,并且必须将delete buttnon放入行文件中,并在适配器类中创建onclick项。如果您尝试了任何操作,请发布code@Google我已经在使用自定义适配器。所以,请告诉我,对所有项目使用一个删除按钮是不对的,我应该改变设计吗?