【问题标题】:android: how to delete a line from sql via ListView?android:如何通过ListView从sql中删除一行?
【发布时间】:2014-07-16 19:23:12
【问题描述】:

我设法显示了来自 sqllite 的列表,现在我希望当用户单击该项目时,该项目将被删除。问题是 sql 中的项目 ID 号与列表视图的 ID 不同。那么如何删除选中的项目呢?

我的意思是这个ID: public void onItemClick(AdapterView parent, View view,int position, long id) 与 sqllite 中的项目 ID 不同。

谢谢你的帮助

    Cursor resultSet = db.rawQuery("Select * from list ORDER BY `ID` DESC",null);
    resultSet.moveToFirst();


      final ListView listview = (ListView) findViewById(R.id.listView1);

    ArrayList<HashMap<String, String>> mylistData = new ArrayList<HashMap<String, String>>();
    String[] columnames = new String[] {"C1", "C2", "C3"};
    int[] columnsR = new int[] {R.id.column1, R.id.column2, R.id.column3};


    int x=0;
    while(resultSet.moveToNext()){
        HashMap<String,String> map = new HashMap<String, String>();

        String d_weight = resultSet.getString(resultSet.getColumnIndex("weight"));
        String d_date = resultSet.getString(resultSet.getColumnIndex("date"));
        String d_id = resultSet.getString(resultSet.getColumnIndex("ID"));

        x=0;
        map.put(columnames[x],d_weight);
        x++;
        map.put(columnames[x],d_date);
        x++;
        map.put(columnames[x],d_id);

        mylistData.add(map);
     }


        SimpleAdapter arrayAdapter = new SimpleAdapter(this, mylistData, R.layout.row,columnames , columnsR);
            listview.setAdapter(arrayAdapter);




       listview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
            {

                     // how to delete? =[ 
            }});

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    为每个条目创建一个用 sql 查询中的数据填充的对象不是更容易吗?然后,您只需使用这些对象的列表填充列表视图,这意味着当其中一个对象被单击时,id 将存储在对象内。然后 int position 将具有与您的对象列表中的位置相同的值。

    听起来怎么样?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 2011-05-27
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多