在android中对SQLite Db执行查询时出现NullPointerException [重复]
Posted
技术标签:
【中文标题】在android中对SQLite Db执行查询时出现NullPointerException [重复]【英文标题】:NullPointerException when executing query on SQLite Db in android [duplicate] 【发布时间】:2017-05-09 21:13:25 【问题描述】:现在我在这里得到空指针异常。在 ViewAllData 方法 myAdapter = new SQLCustomViewAllDataAdapter(SQLViewAllData.this,aList);
here 中,我在创建构造函数时遇到错误。
SQLViewAllData.java
public class SQLViewAllData extends Activity
private SQLDbHelper myDbHelper;
private SQLCustomViewAllDataAdapter myAdapter;
private ListView myListView;
private ArrayList<SQLPojo.UserDetails> aList = new ArrayList<>();
//private Context myContext;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_view_data);
//myContext = this;
widgetInitialization();
viewAllData();
//Initializing Widgets
public void widgetInitialization()
myDbHelper = new SQLDbHelper( this );
myListView = (ListView)findViewById( R.id.listview_view_data_LV );
public ArrayList<SQLPojo.UserDetails> getUserInfo()
return myDbHelper.getUserDetails();
//view all data stored in DB
public void viewAllData()
aList = getUserInfo();
myAdapter = new SQLCustomViewAllDataAdapter(SQLViewAllData.this,aList);
myListView.setAdapter(myAdapter);
【问题讨论】:
试试myDbHelper = new SQLDbHelper( SQLViewAllData.this);
你为什么要重复问题:***.com/questions/41306863/…?
这里有一个链接很好地解释了不同的上下文及其用途。 possiblemobile.com/2013/06/context
【参考方案1】:
你需要改变:
myDbHelper = new SQLDbHelper( myContext );
到
myDbHelper = new SQLDbHelper(this);
同时删除“Activity myContext”字段,因为您的类已经扩展了 Activity。
【讨论】:
OP 可能需要myContext
供以后使用,因此您也可以建议在调用该函数之前在oncreate
中分配myContext = this
@PavneetSingh 如果他在某个地方需要上下文,他将传递 this
而不是无意义的字段
想想,可能有 2 个其他函数使用相同的变量,或者可能没有,但如果它存在,那么 IMO 你可以向 OP 解释为什么 mcontext
为空以及他能做什么如果有任何类似的情况,请务必解决此问题,剩下的当前问题将以此解决,所以我确实首先投票给你【参考方案2】:
你还没有初始化上下文,即 myContext
【讨论】:
这应该只是一个评论。我知道你还不能发表评论,但尽量不要发表评论作为答案 他需要 50 声望才能发表评论。所以他无法发表评论。他不是故意的以上是关于在android中对SQLite Db执行查询时出现NullPointerException [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 CursorLoader 查询 SQLite DB 并填充 AutoCompleteTextView
Kivy Android Sqlite3使应用程序崩溃时出现“没有这样的模块”错误
Android SQLite在应用中数据保存查询,但是拷贝的xxx.db没有数据或没有更新,.db_wal和.db_shm文件