Java 游标生命周期问题

Java 游标生命周期问题,java,android,Java,Android,我正在试图修复一个我整天都在努力解决的“最终确定”错误。在尝试了许多不同的数据库和游标“.close()”方法后,此问题仍然存在 显示的代码是它现在的状态。如果有人能指导我以正确的方式关闭光标和db,那就太好了,因为现在如果我关闭一个,它似乎与另一个冲突 目前,我正在尝试使用从“AddAppointmentContact”类的“onCreate”方法中设置的对象方法中检索到的字符串值设置“EditText”,该类是从对话框列表的意图中调用的 目前我遇到以下错误: 错误: 02-01 21:23:

我正在试图修复一个我整天都在努力解决的“最终确定”错误。在尝试了许多不同的数据库和游标“.close()”方法后,此问题仍然存在

显示的代码是它现在的状态。如果有人能指导我以正确的方式关闭光标和db,那就太好了,因为现在如果我关闭一个,它似乎与另一个冲突

目前,我正在尝试使用从“AddAppointmentContact”类的“onCreate”方法中设置的对象方法中检索到的字符串值设置“EditText”,该类是从对话框列表的意图中调用的

目前我遇到以下错误:

错误:

02-01 21:23:18.947: E/Cursor(274): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.example.flybase2/databases/persons_name, table = contactsTable, query = SELECT _id, persons_name, persons_telephone, persons_email, persons_comments FROM contactsTable WHER
我在代码中的其他地方运行类似的代码,这很好

这是与我从保存对话框的listview中选择的名称ID绑定的代码:

else if (items[item].equals("Add Appointment")) {

Intent conAdd = new Intent("com.example.flybase2.AddAppointmentContact");
conAdd.putExtra("newpassedID", idToPass);
startActivity(conAdd);
以及打开的“AddAppointmentContact”类:

Bundle extras = getIntent().getExtras(); 
    sentID = extras.getLong("newPassedID"); 


    DBHandlerApp NameAppointPass = new DBHandlerApp(this, null, null);

    NameAppointPass.open();
    String nameReturned = NameAppointPass.getName(sentID);

    setName = (EditText) findViewById(R.id.inputAppName);
    setName.setText(nameReturned);
以及“.getName()”方法:


您需要关闭光标


c.close()
,然后返回name或null。

还同意必须关闭
光标。试试这个:

    if(c != null) {
        if(c.getCount() > 0 && c.moveToFirst())
        {
            String name = c.getString(1);
            c.close();
            return name;
        }
        c.close();
    }
    return null;
    if(c != null) {
        if(c.getCount() > 0 && c.moveToFirst())
        {
            String name = c.getString(1);
            c.close();
            return name;
        }
        c.close();
    }
    return null;