Android 使用按钮从sqlite数据库中删除可扩展列表视图

Android 使用按钮从sqlite数据库中删除可扩展列表视图,android,sqlite,android-layout,expandablelistview,expandablelistadapter,Android,Sqlite,Android Layout,Expandablelistview,Expandablelistadapter,我有一个可扩展的列表视图,它有一个删除按钮,可以先从适配器中删除,然后再从数据库中删除。代码在模拟器上运行良好问题是,当我点击Delete按钮时,它总是只删除列表上的最后一项。不管我按哪个按钮。我希望它删除我单击的按钮的相应组项。有人能告诉我要使用哪个rowId从数据库中删除特定的组项吗?这是我的按钮点击监听器代码 @Override public View getGroupView(int groupPosition, boolean isExpanded, View conve

我有一个可扩展的列表视图,它有一个删除按钮,可以先从适配器中删除,然后再从数据库中删除。代码在模拟器上运行良好问题是,当我点击Delete按钮时,它总是只删除列表上的最后一项。不管我按哪个按钮。我希望它删除我单击的按钮的相应组项。有人能告诉我要使用哪个rowId从数据库中删除特定的组项吗?这是我的按钮点击监听器代码

 @Override
  public View getGroupView(int groupPosition, boolean isExpanded,
    View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
if (convertView == null) {
    LayoutInflater infalInflater = (LayoutInflater) this._context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = infalInflater.inflate(R.layout.list_group, null);
}

TextView lblListHeader = (TextView) convertView
        .findViewById(R.id.lblListHeader);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);

Button delButton = (Button) convertView.findViewById(R.id.delButton);
delButton.setFocusable(false); // remove focus from the button
delButton.setOnClickListener( // del onclick listener
        new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String[] columns = new String[] { testshop.TABLE_ROW_ID,
                        testshop.TABLE_ROW_ONE, testshop.TABLE_ROW_TWO };
                Cursor cursor = testshop.db.query(testshop.TABLE_NAME, columns, null,
                        null, null, null, null);
                cursor.moveToFirst();// move the cursor to the first item
                if (!cursor.isAfterLast()) {
                    do{
                      Long rowId = cursor.getLong(0);
                    String item_name = cursor.getString(1);
                    } while (cursor.moveToNext());}

                }
                                       //delete from group array elements
                _listDataHeader.remove(item_name);

                notifyDataSetChanged(); //notify of data change in array
                testshop.deleteRow(testshop.TABLE_NAME,
                        testshop.TABLE_ROW_ID, Long.toString(rowId)); //delete from database 

                //I'm using this toast to debug
                Toast.makeText(_context, "Sucessfully Deleted" +rowId + getdeletedString(rowId),
                        Toast.LENGTH_SHORT).show();
            }

        });

当从数据库加载数据时,应该记住ID,并将其存储在适配器中。考虑使用A。我会怎么做?问题在于将列表中的每个按钮与列表中的特定项相关联。从DB中删除它只会在我删除错误的项@CL时起作用。关于
SimpleCorSortreeAdapter
示例和教程,您有什么特别不了解的地方吗?是的。我将如何链接按钮和listview项,以便能够从Adapter类@CL中的DB中删除它。