Android 启动时出现致命异常

Android 启动时出现致命异常,android,layout,widget,Android,Layout,Widget,我是一个编写简单编程UI的初学者,尽管我已经仔细地重新开始了很多次,但我不知道是什么破坏了这段代码,以至于它甚至无法首先显示UI。我的观点肯定有问题,但我不知道是什么。有人能帮忙吗 这是我的主要活动代码(现在所有) 这是我的航海日志 02-22 16:53:56.440: D/AndroidRuntime(625): Shutting down VM 02-22 16:53:56.440: W/dalvikvm(625): threadid=1: thread exiting with unca

我是一个编写简单编程UI的初学者,尽管我已经仔细地重新开始了很多次,但我不知道是什么破坏了这段代码,以至于它甚至无法首先显示UI。我的观点肯定有问题,但我不知道是什么。有人能帮忙吗

这是我的主要活动代码(现在所有)

这是我的航海日志

02-22 16:53:56.440: D/AndroidRuntime(625): Shutting down VM
02-22 16:53:56.440: W/dalvikvm(625): threadid=1: thread exiting with uncaught exception     (group=0x40015560)
02-22 16:53:56.460: E/AndroidRuntime(625): FATAL EXCEPTION: main
02-22 16:53:56.460: E/AndroidRuntime(625): java.lang.RuntimeException: Unable to start     activity ComponentInfo{com.orbitbreak.musicbox/com.orbitbreak.musicbox.MusicBoxActivity}:     java.lang.NullPointerException
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.os.Handler.dispatchMessage(Handler.java:99)
02-22 16:53:56.460: E/AndroidRuntime(625):  at android.os.Looper.loop(Looper.java:123)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.main(ActivityThread.java:3683)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     java.lang.reflect.Method.invokeNative(Native Method)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     java.lang.reflect.Method.invoke(Method.java:507)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-22 16:53:56.460: E/AndroidRuntime(625):  at dalvik.system.NativeStart.main(Native Method)
02-22 16:53:56.460: E/AndroidRuntime(625): Caused by: java.lang.NullPointerException
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.orbitbreak.musicbox.MusicBoxActivity.onCreate(MusicBoxActivity.java:25)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-22 16:53:56.460: E/AndroidRuntime(625):  ... 11 more

viewUpdate为空,您计划如何扩大该视图?它应该是你的根视图吗

<>你应该考虑从XML中填充UI。这是非常方便和推荐的Android方式

编辑


我相信这正是您想要的:

是的,它应该是根视图。如何实例化这样的视图组,以便在其上使用.addView(View v)?我一开始使用XML,但对于这个项目,我将创建一个16x16的可单击图像网格以进行迭代,因此我认为能够将ImageView实例化为ImageView[][]元素进行处理要容易得多,而不是为每个XML元素都有一个唯一的id。您对如何以编程方式将给定高度/宽度的网格生成为xml元素有什么建议吗?在这种情况下,我可以使用onClickListeners的变量引用每个元素?如果您使用xml,则不必手动添加视图。试试看。您已经在R.layout.main文件中用xml指定了布局。这样,您可以在视图组中嵌套子视图。或者,如果您坚持以编程方式放置它们,请确保在R.layout.main文件的根视图上放置id,然后使用该id在活动上执行findViewById。这将为您提供可以用作父级的视图。同样,这是不推荐的。我仍然需要在迭代网格时使用不同的图像重新绘制网格,但是,让不同的imageview元素声明为imageview[][]数组元素更容易迭代,你同意吗?findViewById接受一个整数,我没有见过将循环索引转换为对应的imageview xml ID以进行快速查找的方法。你能给我一些例子,说明如何以编程的方式更好地实例化和操作视图/setContentView吗?还是XML解决方案来解决我的上述问题?这对于较小的图像集合来说似乎很有希望,但对于我的目的来说却不太好。我将其更改为再次从xml元素中获取布局的源代码,但在程序流程的早期出现了新的问题。介意看一下吗?以下是链接:
02-22 16:53:56.440: D/AndroidRuntime(625): Shutting down VM
02-22 16:53:56.440: W/dalvikvm(625): threadid=1: thread exiting with uncaught exception     (group=0x40015560)
02-22 16:53:56.460: E/AndroidRuntime(625): FATAL EXCEPTION: main
02-22 16:53:56.460: E/AndroidRuntime(625): java.lang.RuntimeException: Unable to start     activity ComponentInfo{com.orbitbreak.musicbox/com.orbitbreak.musicbox.MusicBoxActivity}:     java.lang.NullPointerException
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.os.Handler.dispatchMessage(Handler.java:99)
02-22 16:53:56.460: E/AndroidRuntime(625):  at android.os.Looper.loop(Looper.java:123)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.main(ActivityThread.java:3683)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     java.lang.reflect.Method.invokeNative(Native Method)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     java.lang.reflect.Method.invoke(Method.java:507)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-22 16:53:56.460: E/AndroidRuntime(625):  at dalvik.system.NativeStart.main(Native Method)
02-22 16:53:56.460: E/AndroidRuntime(625): Caused by: java.lang.NullPointerException
02-22 16:53:56.460: E/AndroidRuntime(625):  at     com.orbitbreak.musicbox.MusicBoxActivity.onCreate(MusicBoxActivity.java:25)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-22 16:53:56.460: E/AndroidRuntime(625):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-22 16:53:56.460: E/AndroidRuntime(625):  ... 11 more