0

看看下面的代码......

这可以正常工作并在模拟器上按下菜单项时删除一条消息,但是当在手机上安装具有相同数据库和相同代码的相同应用程序时它不会执行任何操作(Samsung Galaxy S)

@Override
public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub

    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

    String s = (String) ((Cursor) getListView().getItemAtPosition(info.position))
                .getString(2);

    switch(item.getItemId())
    {
    case R.id.delete:

        Log.v("", "You Clicked "+ s);
        dba = new DBAdapter(this);
        dba.open();
        dba.deleteMessage(s);       
        dba.close();

        //  return true;

    default:
        return super.onContextItemSelected(item);
    }
}

虽然 Log.v 也显示了被点击的数字,但是为什么这个功能在它工作时没有在手机上做任何事情,并在模拟器上删除记录

4

1 回答 1

1

以下代码解决了我的问题....它适用于手机和模拟器

DatabaseHelper dbh = new DatabaseHelper(context);
        dbh.getWritableDatabase().delete(table, whereClause, whereArgs);
于 2012-04-12T06:05:27.420 回答