平板电脑使用不同的布局文件夹时Android应用程序崩溃

时间:2013-08-29 09:08:46

标签: java android android-layout

我正在尝试为不同的屏幕尺寸制作布局。在我希望在三星Galaxy Tab 2 7.0上显示相同的布局之后,我开始使用智能手机的一些按钮制作基本布局。所以我按照Android开发网站上的说明进行操作。

我首先创建了'layout-large'文件夹并创建了第二个布局,但这次是平板电脑,它没有用。之后,我尝试使用名为'layout-sw600dp'的文件夹并得到相同的结果,它崩溃了。我尝试使用调试模式,但由于某种原因,这也不起作用。

LogCat代码如下,希望有人可以提供帮助。亲切的问候

08-29 10:56:56.125: E/AndroidRuntime(6457): FATAL EXCEPTION: main
08-29 10:56:56.125: E/AndroidRuntime(6457): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.quality_of_life/com.example.quality_of_life.MainActivity}: java.lang.NullPointerException
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.os.Looper.loop(Looper.java:137)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread.main(ActivityThread.java:4895)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at java.lang.reflect.Method.invokeNative(Native Method)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at java.lang.reflect.Method.invoke(Method.java:511)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at dalvik.system.NativeStart.main(Native Method)
08-29 10:56:56.125: E/AndroidRuntime(6457): Caused by: java.lang.NullPointerException
08-29 10:56:56.125: E/AndroidRuntime(6457):     at com.example.quality_of_life.MainActivity.addListenerOnButton(MainActivity.java:29)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at com.example.quality_of_life.MainActivity.onCreate(MainActivity.java:20)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.Activity.performCreate(Activity.java:5163)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
08-29 10:56:56.125: E/AndroidRuntime(6457):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2061)
08-29 10:56:56.125: E/AndroidRuntime(6457):     ... 11 more

3 个答案:

答案 0 :(得分:0)

我认为你的布局中缺少一些组件。 制作许多屏幕尺寸,您必须确保所有布局都必须不存在所有控件。 请检查您的代码。

答案 1 :(得分:0)

我会在评论中发布此内容,但我没有必要的声誉!

首先,您可以发布由com.example.quality_of_life.MainActivity.addListenerOnButton(MainActivity.java:29)标识的代码。这就是导致你悲伤的线,很明显问题是什么。当你说调试模式不起作用时,你是否在代码中设置了断点,在MainActivity的第29行?

您是否遵循Android开发人员指南中的指导原则? http://developer.android.com/guide/practices/screens_support.html

您是否也可以发布项目/ res文件夹的骨架,因为它可能也包含一些线索。

答案 2 :(得分:0)

问题是,在我的不同布局中,我使用了不同的按钮,我的主要脚本是调用一个不存在的按钮。所以,它崩溃了。问题解决了bij隐藏按钮与android:visibility =“gone”。

谢谢大家的帮助