[英]Refreshing ListView from Custom Adapter Class - Android
I want to refresh data in ListFragment from my custom adapter class, but got the error NullPointerException. 我想从我的自定义适配器类刷新ListFragment中的数据,但收到错误NullPointerException。
This is Adaper class method: 这是Adaper类的方法:
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BasketFragment basketFragment = new BasketFragment();
basketFragment.getBsketList();
}
});
And when I call it in my Fragment class I get java.lang.NullPointerException at mDataBase = dbHelper.getWritableDatabase();
当我在Fragment类中调用它时,在
mDataBase = dbHelper.getWritableDatabase();
处得到java.lang.NullPointerException mDataBase = dbHelper.getWritableDatabase();
getBasketList(): getBasketList():
public void refreshList() {
dbAdaper.setArrayMyData(selectAll());
dbAdaper.notifyDataSetChanged();
}
And here is the part where I got the error: 这是我得到错误的部分:
public ArrayList<BasketData> selectAll() {
Cursor mCursor = null;
dbHelper = new DBHelper(getActivity());
mDataBase = dbHelper.getWritableDatabase();//NullPointerException
mCursor = mDataBase.query("orderTable", null, null, null, null, null, null);
LogCat: logcat的:
java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
at com.epon.fragments.BasketFragment.selectAll(BasketFragment.java:100)
at com.epon.fragments.BasketFragment.getBsketList(BasketFragment.java:142)
at com.epon.adapters.DBBasketAdapter$2.onClick(DBBasketAdapter.java:177)
at android.view.View.performClick(View.java:4240)
at android.view.View$PerformClick.run(View.java:17721)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Have you set the context right? 您设置正确的上下文了吗?
I think that his is your problem a problem. 我认为他是你的问题。
Maybe if this is not helping posting the content of getActivity() might be helpful? 也许如果这不帮忙张贴getActivity()的内容可能会有所帮助?
edit 编辑
Your logcat makes me keep thinking that its a context error! 您的日志使我一直认为它是上下文错误!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.