代码适用于模拟器,但不适用于手机

时间:2012-04-10 09:50:09

标签: android database android-emulator

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

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

@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还显示了被点击的号码但是为什么这个功能在手机上工作时不做任何事情并删除模拟器上的记录

1 个答案:

答案 0 :(得分:1)

以下代码解决了我的问题....它在手机和模拟器上都有效

DatabaseHelper dbh = new DatabaseHelper(context);
        dbh.getWritableDatabase().delete(table, whereClause, whereArgs);