【发布时间】:2014-01-08 22:30:10
【问题描述】:
我在调用游标时不断收到 NullPointerException。 db 填充在 FragmentList 中,其中有一个光标适配器并显示列表,然后当按下其中一个项目时,主要活动调用 FragmentDetails 以显示来自 db 的有关所选项目的信息。
片段详细信息:
public class FragmentDetails extends Fragment implements LoaderCallbacks<Cursor>{
private static Context mContext;
public static FragmentDetails newInstance(long id){
Uri uri = PlacesContract.Places.CONTENT_URI;
Cursor cursor = mContext.getContentResolver().query(uri,null, null, null, null);
cursor.moveToFirst();
主要活动:
@Override
public void onItemSelected(long id) {
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_from_bottom,
R.anim.slide_out_to_bottom, R.anim.slide_in_from_bottom,
R.anim.slide_out_to_bottom);
Fragment detailsFragment = FragmentDetails.newInstance(id);
LogCat:
01-08 14:11:17.489: E/AndroidRuntime(2005): FATAL EXCEPTION: main
01-08 14:11:17.489: E/AndroidRuntime(2005): java.lang.NullPointerException
01-08 14:11:17.489: E/AndroidRuntime(2005): at com.lora_solomon.myfavoriteplaces.view.FragmentDetails.newInstance(FragmentDetails.java:57)
E/AndroidRuntime(2005): at com.lora_solomon.myfavoriteplaces.view.MainActivity.onItemSelected(MainActivity.java:92)
E/AndroidRuntime(2005): at com.lora_solomon.myfavoriteplaces.view.FragmentList.onItemClick(FragmentList.java:113)
E/AndroidRuntime(2005): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
E/AndroidRuntime(2005): at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.widget.AbsListView$1.run(AbsListView.java:3529)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.os.Handler.handleCallback(Handler.java:615)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.os.Handler.dispatchMessage(Handler.java:92)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.os.Looper.loop(Looper.java:137)
01-08 14:11:17.489: E/AndroidRuntime(2005): at android.app.ActivityThread.main(ActivityThread.java:4745)
01-08 14:11:17.489: E/AndroidRuntime(2005): at java.lang.reflect.Method.invokeNative(Native Method)
01-08 14:11:17.489: E/AndroidRuntime(2005): at java.lang.reflect.Method.invoke(Method.java:511)
01-08 14:11:17.489: E/AndroidRuntime(2005): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
01-08 14:11:17.489: E/AndroidRuntime(2005): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-08 14:11:17.489: E/AndroidRuntime(2005): at dalvik.system.NativeStart.main(Native Method)
任何帮助将不胜感激!
【问题讨论】:
标签: android android-fragments cursor android-contentprovider