Ami*_*med 3 android android-layout landscape-portrait android-activity
我有一个申请。主要活动有一个带有按钮的页面。该按钮仅打开另一个活动。但这就是问题所在。当我在肖像模式下执行此操作时,效果非常好。即使活动开始后,我也可以将其更改为横向模式,并且效果很好。仅当第一个活动处于横向模式并且我单击按钮启动新活动时,应用程序才会崩溃。有什么想法我应该如何解决这个问题吗?为什么它不能仅在启动期间工作?为什么在我以纵向模式启动后它在横向模式下工作正常?
我注意到的另一件有趣的事情是,我删除了 Landscape 文件夹中的布局 xml 文件,它不再崩溃了。
04-26 15:09:50.558: E/AndroidRuntime(7034): FATAL EXCEPTION: main
04-26 15:09:50.558: E/AndroidRuntime(7034): Process: com.example.msapp2, PID: 7034
04-26 15:09:50.558: E/AndroidRuntime(7034): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.msapp2/com.example.msapp2.exercises.WorkoutBuddy}: java.lang.NullPointerException
04-26 15:09:50.558: E/AndroidRuntime(7034): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-26 15:09:50.558: E/AndroidRuntime(7034): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-26 15:09:50.558: E/AndroidRuntime(7034): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-26 15:09:50.558: E/AndroidRuntime(7034): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
Run Code Online (Sandbox Code Playgroud)
可能发生的情况是,您可能获得对纵向 (/layouts/activity*.xml) 布局中存在但横向布局 (/layouts-land/activity*.xml) 中不存在的布局元素的引用。 xml)。
例如,
Button button = (Button) findviewbyid(R.id.myButton);
Run Code Online (Sandbox Code Playgroud)
如果您是肖像,可能会起作用,因为<Button />其中有一个元素。但你的景观布局没有相同的元素。
这会导致NullPointerException你得到的异常。当您尝试访问尚未初始化的对象时,就会发生这种情况。所以要留意你在哪里这样做。
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |