android listview 删除item同时删除对应行数的数据库内容

  listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?>parent,View view,int position,long id)
            {
                Map<String, Object> positioncurrent = list.get(position);
                comment.setId(Integer.parseInt(String.valueOf(positioncurrent)));
                int _id = comment.getId();
                SQLiteDatabase db = databaseHelper.getWritableDatabase();
                db.delete("comment",Comment.Commentinter.EVENT_ID + getString(R.string.dlx_wenhao),new String[]{String.valueOf(id)});
                db.close();
                list.remove(positioncurrent);
                adapter.notifyDataSetChanged();
                listView.setAdapter(adapter);
            }
        });
    }

我完全新手,这是我写的监听事件,Comment类里是我数据库表属性的setget方法,逻辑上不知道对不对,只是现在它报错, java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.dengfugui.myapplication.Comment,不让我把positioncurrent进行类型转换,我应该怎么修改?或者基于我的 Map和Comment有没有啥更好的方法?求大神指点!!!!谢谢了!!!

 Map<String, Object> positioncurrent = list.get(position);
->
 com.example.dengfugui.myapplication.Comment positioncurrent = list.get(position);

类型强转错误 你适配器的数据类型不是map吧

我想你list中的对象应该不是map。应该是Comment对象,所以在转换时出现 java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.dengfugui.myapplication.Comment

Map positioncurrent = list.get(position);
list中的数据类型 无法强转成Map类型

强制类型转换错误,所以会报异常,你需要确认一下你的数据类型,然后在确认能否这样强制转换