android - 使用 kotlin 在 Android 中使用 Sqlite 从 listView 中删除记录
问题描述
我想从列表视图中删除记录,方法是逐行点击我*已将删除按钮添加到我点击删除的单元格。但是我在这里面临的问题是“当我从任何行按下删除按钮时,它第一次起作用,但是当我从任何其他行再次按下删除按钮时,什么也没有发生”
请帮助我。我正在使用kotlin作为一种语言
这是我使用过的采用者代码谢谢
class Adapter(con:Context, arrList:ArrayList<UserModel>): BaseAdapter()
{
var studentList = ArrayList<UserModel>()
var context: Context? = null
var myInflater: LayoutInflater? = null
init {
this.context = con
this.myInflater = LayoutInflater.from(context)
this.studentList = arrList
}
override fun getView(position: Int, convertView: View?, parent:
ViewGroup?):View
{
var v = myInflater!!.inflate(R.layout.custome,null)
var ConObj = studentList[position]
var full_name : String = ConObj.name.toString()
var textView: TextView = v.findViewById(R.id.text_Name)
textView.setText(full_name)
var age : String? = ConObj.age
var textAge: TextView = v.findViewById(R.id.text_Age)
textAge.text = age.toString()
return v
}
override fun getItem(position: Int): Any
{
return studentList[position]
}
override fun getItemId(position: Int): Long
{
return position.toLong()
}
override fun getCount(): Int
{
return studentList.size
}
}
fun delete(v: View)
{
dbHelper = DataBaseHelper(this)
var res: String = dbHelper.RemoveStudents(name!!)
if(res=="ok") {
var pos : Int = listView.getPositionForView(v)
StudentList.removeAt(pos)
StudentAdapter.notifyDataSetChanged()
}
else {
Log.e("ab","ab"+res)
}
}
解决方案
推荐阅读
- java - 为什么对象的实例会破坏受保护的逻辑?
- javascript - 如何在使用 aurelia 时使用值转换器或任何其他方法绑定和显示绑定的值
- html - 如何修复环绕屏幕而不是安装的列
- jquery - Jquery datatable PageLength 在选择列表更改时不做任何事情
- python - 从 Chatter 记录中拆分机器人记录
- android - 如何从回收站视图和领域数据库中删除特定项目?
- python-3.x - 如何获取二维字符串列表并返回字典?每行的第一个元素是键
- reactjs - 带有 Formik 内部输入的自定义更改处理程序
- twincat - TwinCat issue : state change to op mode failed master state preop is insufficient
- android - Xamarin forms issue with Android 9