我第一次使用 ListFragments。我想显示来自 sqlite 数据库的数据。
我的问题:我无法检索上下文。
我在扩展 ListFragment 的类中尝试了 this.getActivity(),但上下文为空。
然后我尝试将我的应用程序的第一个活动(启动应用程序后显示的 ui)的上下文保存为静态变量。但这是正确的背景吗?
static Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Setting the context
context = this;
setContentView(R.layout.main);
}
public static Context getContext() {
return context;
}
当我查询数据库时,我没有得到任何异常,但光标始终为空。我查看了我的 sqlite 数据库 - 我有三行数据(因此光标不应为空)。
我从数据库中查询数据的代码:
Cursor cursor = null;
try{
open();
cursor = database.rawQuery("select _id, surname, prename, street, zipcode, telephone, email from "+Database.getMyDbTable()+";", null);
}catch(Exception ex){
Log.e(TAG, "Could not get list");
CharSequence text = "Die Liste kann nicht erstellt werden!";
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
Log.d(TAG, "Cursor "+cursor);
close();
我如何获得正确的上下文?