【发布时间】:2013-11-20 13:19:53
【问题描述】:
就像在 subcjet 中一样。当我评论 listView.setAdapter(adapter); 它只是显示另一个活动:
这是整个 onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista__klas);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
klasy = getResources().getStringArray(R.array.klasy);
ListView listView = (ListView)findViewById(R.id.lista_klas);
adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.activity_lista__klas);
listView.setAdapter(adapter);
}
当我按下启动此活动的按钮时,从 logcat 记录:
11-20 13:14:53.085 1494-1780/system_process I/ActivityManager﹕ START {cmp=pl.krasiniak.krachapp_beta/.Lista_Klas} from pid 3975
11-20 13:14:53.335 3975-3975/pl.krasiniak.krachapp_beta D/AndroidRuntime﹕ Shutting down VM
11-20 13:14:53.335 3975-3975/pl.krasiniak.krachapp_beta W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40a521f8)
11-20 13:14:53.345 3975-3975/pl.krasiniak.krachapp_beta E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.krasiniak.krachapp_beta/pl.krasiniak.krachapp_beta.Lista_Klas}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2079)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
at android.app.ActivityThread.access$600(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4575)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at pl.krasiniak.krachapp_beta.Lista_Klas.onCreate(Lista_Klas.java:34)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2033)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
at android.app.ActivityThread.access$600(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4575)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
11-20 13:14:53.355 1494-1675/system_process W/ActivityManager﹕ Force finishing activity pl.krasiniak.krachapp_beta/.Lista_Klas
11-20 13:14:53.355 1494-1675/system_process W/ActivityManager﹕ Force finishing activity pl.krasiniak.krachapp_beta/.MainActivity
11-20 13:14:53.865 1494-1509/system_process W/ActivityManager﹕ Activity pause timeout for ActivityRecord{40ef3f48 pl.krasiniak.krachapp_beta/.Lista_Klas}
11-20 13:14:54.065 3215-3215/com.cyanogenmod.trebuchet W/Adreno200-EGLSUB﹕ SetSwapInterval() interval: 0 not set
11-20 13:14:54.105 1494-1506/system_process I/ActivityManager﹕ No longer want com.android.keychain (pid 3950): hidden #16
11-20 13:15:04.105 1494-1509/system_process W/ActivityManager﹕ Activity destroy timeout for ActivityRecord{40ebf3c0 pl.krasiniak.krachapp_beta/.MainActivity}
11-20 13:15:04.105 1494-1509/system_process W/ActivityManager﹕ Activity destroy timeout for ActivityRecord{40ef3f48 pl.krasiniak.krachapp_beta/.Lista_Klas}
我确定数组不为空。谢谢你的回答,问候:)
【问题讨论】:
-
上下文是否为空?换一个值?
-
您忘记在适配器中传递“klasy”数组。 :)
-
你这样做了吗===> adapter = new ArrayAdapter
(getApplicationContext(), R.layout.activity_lista__klas,klasy); -
什么意思?当我写
adapter = new ArrayAdapter<String>(this, R.layout.activity_lista__klas);时,它没有区别 -
但是从哪里将 klasy 数组添加到适配器?
标签: android listview android-listview crash adapter