【发布时间】:2012-03-21 08:56:40
【问题描述】:
我在打开数据库时在我的 EhActivity 类中遇到 NullPointerException
public class EHActivity extends Activity {
ArrayList<String>ques= new ArrayList<String>();
ArrayList<String>ans=new ArrayList<String>();
SQLiteDatabase db2;
public ArrayList<String> getQues()
{
db2=openOrCreateDatabase("interview.db", MODE_PRIVATE, null);
db2.execSQL("create table eh (qid int primary key,ques varchar,ans char)");
db2.execSQL("insert into subject values(1,'What is an exception?','A1 '))");
db2.execSQL("insert into subject values(2,'What is error?','A2 '))");
Cursor c=db2.rawQuery("select * from eh",null);
while(c.moveToNext())
{
ques.add(c.getString(1));
}
return ques;
}
}
日志猫视图是:
03-21 14:06:15.910: E/AndroidRuntime(955): java.lang.NullPointerException 03-21 14:06:15.910: E/AndroidRuntime(955): 在 android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203) 03-21 14:06:15.910: E/AndroidRuntime(955): at interview.android.EHActivity.getQues(EHActivity.java:19)
【问题讨论】:
-
我怀疑你在调用
onCreate()之前调用了getQues()(例如,来自EHActivity的构造函数) - 你的活动上下文没有初始化 -
@zapl 我曾尝试使用 onCreate() 函数,但同样的错误即将到来。
标签: android nullpointerexception