Java Android Listview删除SQLite行使用上下文菜单

Java Android Listview删除SQLite行使用上下文菜单,java,android,Java,Android,我为android开发了一个应用程序:p 所以我有一个带有上下文菜单的列表视图。上下文菜单中有一个删除行的按钮!所以我看了很多教程,但没有人能帮我:/ MainActivity.java lv = (ListView) findViewById(R.id.memberList_id); registerForContextMenu(lv); } @Override public void onCreateCont

我为android开发了一个应用程序:p 所以我有一个带有上下文菜单的列表视图。上下文菜单中有一个删除行的按钮!所以我看了很多教程,但没有人能帮我:/

MainActivity.java

        lv = (ListView) findViewById(R.id.memberList_id);
            registerForContextMenu(lv);


    }
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            if (v.getId()==R.id.memberList_id) {
                MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.menu_list, menu);
            }

        }

        @Override
        public boolean onContextItemSelected(MenuItem item) {
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
            switch(item.getItemId()) {
                case R.id.bearbeiten:

                    memI

D_tv = (TextView)findViewById(R.id.member_id);
                memName_tv = (TextView)findViewById(R.id.member_name);

                String memberID_val = memID_tv.getText().toString();
                String memberName_val = memName_tv.getText().toString();

                Intent modify_intent = new Intent(getApplicationContext(),
                                                  Modify_member.class);
                modify_intent.putExtra("memberName", memberName_val);
                modify_intent.putExtra("memberID", memberID_val);
                startActivity(modify_intent);

                return true;
            case R.id.löschen:

                dbcon.deleteData(member_id);

                return true;
            default:
                return super.onContextItemSelected(item);
        }
    }
DBhelper.java

    package com.studiocrew.lehrstellekontrolle;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBhelper extends SQLiteOpenHelper {

    // TABLE INFORMATTION
        public static final String TABLE_MEMBER = "member";
        public static final String MEMBER_ID = "_id";
        public static final String MEMBER_NAME = "name";

        // DATABASE INFORMATION
        static final String DB_NAME = "MEMBER.DB";
        static final int DB_VERSION = 1;

    // TABLE CREATION STATEMENT
    private static final String CREATE_TABLE = "create table "
            + TABLE_MEMBER + "(" + MEMBER_ID
            + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + MEMBER_NAME + " TEXT NOT NULL);";

    public DBhelper(Context context) {
        super(context, DB_NAME, null,DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

        db.execSQL("DROP TABLE IF EXISTS " + TABLE_MEMBER);
        onCreate(db);
    }
}

您只需要一个对listview正在使用的适配器的引用。如果在获取对所选对象的引用时遇到问题,可以创建一个自定义适配器,用于获取当前所选项目。 所以你会有这样的想法:

adapter.removeadapter.getSelectedItem;
然后可以使用对该项的相同引用将其从数据库中删除

你到底有什么问题?@JoeBauer我想用contextmenu删除listview行。