Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-由以下原因引起:java.lang.NullPointerException:storage==null_Android - Fatal编程技术网

Android-由以下原因引起:java.lang.NullPointerException:storage==null

Android-由以下原因引起:java.lang.NullPointerException:storage==null,android,Android,“我正在尝试从数据库检索数据并将其添加到我的listAdapter中。listAdapter不为空时,一切正常。然而,当listAdapter为空时,我得到运行时异常。我试了好几个小时,但找不到解决办法。我尝试过的解决方案,如setEmptyView、setEmptyText、throw Exception等。很抱歉,我是编程新手。” 这是我的ListFragment(LecMonFragmentTab.java): 对数输出 08-07 04:48:19.271: E/AndroidRunti

“我正在尝试从数据库检索数据并将其添加到我的listAdapter中。listAdapter不为空时,一切正常。然而,当listAdapter为空时,我得到运行时异常。我试了好几个小时,但找不到解决办法。我尝试过的解决方案,如setEmptyView、setEmptyText、throw Exception等。很抱歉,我是编程新手。”

这是我的ListFragment(LecMonFragmentTab.java):

对数输出

08-07 04:48:19.271: E/AndroidRuntime(25461): FATAL EXCEPTION: main
08-07 04:48:19.271: E/AndroidRuntime(25461): Process: com.example.fyp2, PID: 25461
08-07 04:48:19.271: E/AndroidRuntime(25461): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fyp2/com.example.fyp2.LecTakeAtt}: java.lang.NullPointerException: storage == null
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.os.Looper.loop(Looper.java:136)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.main(ActivityThread.java:5017)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.lang.reflect.Method.invokeNative(Native Method)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.lang.reflect.Method.invoke(Method.java:515)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at dalvik.system.NativeStart.main(Native Method)
08-07 04:48:19.271: E/AndroidRuntime(25461): Caused by: java.lang.NullPointerException: storage == null
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.util.Arrays$ArrayList.<init>(Arrays.java:38)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.util.Arrays.asList(Arrays.java:155)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.example.fyp2.LecMonFragmentTab.onCreate(LecMonFragmentTab.java:43)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.Fragment.performCreate(Fragment.java:1763)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:913)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.Activity.performStart(Activity.java:5241)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
08-07 04:48:19.271: E/AndroidRuntime(25461):    ... 11 more
08-07 04:48:19.271:E/AndroidRuntime(25461):致命异常:main
08-07 04:48:19.271:E/AndroidRuntime(25461):进程:com.example.fyp2,PID:25461
08-07 04:48:19.271:E/AndroidRuntime(25461):java.lang.RuntimeException:无法启动活动组件信息{com.example.fyp2/com.example.fyp2.LecTakeAtt}:java.lang.NullPointerException:存储==null
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)上
08-07 04:48:19.271:E/AndroidRuntime(25461):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.ActivityThread.access$800(ActivityThread.java:135)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于android.os.Handler.dispatchMessage(Handler.java:102)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.os.Looper.loop(Looper.java:136)上
08-07 04:48:19.271:E/AndroidRuntime(25461):位于android.app.ActivityThread.main(ActivityThread.java:5017)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于java.lang.reflect.Method.Invokenactive(本机方法)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于java.lang.reflect.Method.invoke(Method.java:515)
08-07 04:48:19.271:E/AndroidRuntime(25461):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-07 04:48:19.271:E/AndroidRuntime(25461):在dalvik.system.NativeStart.main(本机方法)
08-07 04:48:19.271:E/AndroidRuntime(25461):由以下原因引起:java.lang.NullPointerException:storage==null
08-07 04:48:19.271:E/AndroidRuntime(25461):位于java.util.Arrays$ArrayList。(Arrays.java:38)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于java.util.Arrays.asList(Arrays.java:155)
08-07 04:48:19.271:E/AndroidRuntime(25461):位于android.widget.ArrayAdapter.(ArrayAdapter.java:128)
08-07 04:48:19.271:E/AndroidRuntime(25461):在com.example.fyp2.LecMonFragmentTab.onCreate(LecMonFragmentTab.java:43)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.Fragment.performCreate(Fragment.java:1763)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:913)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)上
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.Activity.performStart(Activity.java:5241)上
08-07 04:48:19.271:E/AndroidRuntime(25461):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
08-07 04:48:19.271:E/AndroidRuntime(25461):…还有11个

希望大家能给点建议或提供一些解决方案。非常感谢。

在您的主要活动中,更改以下内容:

if(myData.length != 0){
  ListAdapter listAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, myData);
  setListAdapter(listAdapter);
}

检查
myData
的空条件,然后更新适配器

if(myData!=null && mydata.length>0){
  setListAdapter(listAdapter);
}else{
  // Some messages
}

谢谢,我试过了,但它不起作用:(错误保持不变。谢谢它起作用:)很抱歉我的错误,因为我是编程新手。检查是否在清单文件中添加了活动?显示清单文件尝试从
捕获打印堆栈跟踪(异常e)
在您的
DBAdapter
类中。查看是否显示任何内容。谢谢大家。问题已解决!:)
08-07 04:48:19.271: E/AndroidRuntime(25461): FATAL EXCEPTION: main
08-07 04:48:19.271: E/AndroidRuntime(25461): Process: com.example.fyp2, PID: 25461
08-07 04:48:19.271: E/AndroidRuntime(25461): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fyp2/com.example.fyp2.LecTakeAtt}: java.lang.NullPointerException: storage == null
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.os.Looper.loop(Looper.java:136)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.main(ActivityThread.java:5017)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.lang.reflect.Method.invokeNative(Native Method)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.lang.reflect.Method.invoke(Method.java:515)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at dalvik.system.NativeStart.main(Native Method)
08-07 04:48:19.271: E/AndroidRuntime(25461): Caused by: java.lang.NullPointerException: storage == null
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.util.Arrays$ArrayList.<init>(Arrays.java:38)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at java.util.Arrays.asList(Arrays.java:155)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at com.example.fyp2.LecMonFragmentTab.onCreate(LecMonFragmentTab.java:43)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.Fragment.performCreate(Fragment.java:1763)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:913)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.Activity.performStart(Activity.java:5241)
08-07 04:48:19.271: E/AndroidRuntime(25461):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
08-07 04:48:19.271: E/AndroidRuntime(25461):    ... 11 more
if(myData.length != 0){
  ListAdapter listAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, myData);
  setListAdapter(listAdapter);
}
if(cursor != null){
  cursor.close();
}
if(myData!=null && mydata.length>0){
  setListAdapter(listAdapter);
}else{
  // Some messages
}