对不起家伙们提出新手问题。我是android新手,正在努力在新应用程序中设置一些登录系统。一切都很好(很长一段时间后),我在主页面的菜单中有一个登录按钮,这只是一个空的" hello world"默认活动。然后我决定删除" hello world"文本视图,我试图立即运行它,应用程序崩溃与null异常。我正在疯狂地做ctrl + z,但是应用程序一直在崩溃。 我完全不了解LogCat:
10-24 00:10:17.982:I / ActivityManager(59):开始活动:意图{ act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] FLG = 0x10200000 cmp = com.application.mySoSpecialApplication / .MainActivity} 10-24 00:10:18.002:W / WindowManager(59):HistoryRecord {4505f618 com.application.mySoSpecialApplication / .MainActivity}创建失败 起始窗口10-24 00:10:18.002:W / WindowManager(59): java.lang.RuntimeException:二进制XML文件行#25:您必须提供 layout_height属性。 10-24 00:10:18.002:W / WindowManager(59): 在 android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491) 10-24 00:10:18.002:W / WindowManager(59):at android.view.ViewGroup $ LayoutParams.setBaseAttributes(ViewGroup.java:3593) 10-24 00:10:18.002:W / WindowManager(59):at android.view.ViewGroup $ MarginLayoutParams。(ViewGroup.java:3672) 10-24 00:10:18.002:W / WindowManager(59):at android.widget.LinearLayout $的LayoutParams。(LinearLayout.java:1395) 10-24 00:10:18.002:W / WindowManager(59):at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1321) 10-24 00:10:18.002:W / WindowManager(59):at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:45) 10-24 00:10:18.002:W / WindowManager(59):at android.view.LayoutInflater.rInflate(LayoutInflater.java:620)10-24 00:10:18.002:W / WindowManager(59):at android.view.LayoutInflater.inflate(LayoutInflater.java:407)10-24 00:10:18.002:W / WindowManager(59):at android.view.LayoutInflater.inflate(LayoutInflater.java:320)10-24 00:10:18.002:W / WindowManager(59):at android.view.LayoutInflater.inflate(LayoutInflater.java:276)10-24 00:10:18.002:W / WindowManager(59):at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2165) 10-24 00:10:18.002:W / WindowManager(59):at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2220) 10-24 00:10:18.002:W / WindowManager(59):at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1407) 10-24 00:10:18.002:W / WindowManager(59):at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:894) 10-24 00:10:18.002:W / WindowManager(59):at com.android.server.WindowManagerService $ H.handleMessage(WindowManagerService.java:9007) 10-24 00:10:18.002:W / WindowManager(59):at android.os.Handler.dispatchMessage(Handler.java:99)10-24 00:10:18.002:W / WindowManager(59):at android.os.Looper.loop(Looper.java:123)10-24 00:10:18.002: W / WindowManager(59):at com.android.server.WindowManagerService $ WMThread.run(WindowManagerService.java:570) 10-24 00:10:18.042:I / ActivityManager(59):启动proc com.application.mySoSpecialApplication for activity com.application.mySoSpecialApplication / .MainActivity:pid = 463 uid = 10036 gids = {3003} 10-24 00:10:18.272:D / AndroidRuntime(463): 关闭VM 10-24 00:10:18.272:W / dalvikvm(463):threadid = 1: 线程退出与未捕获的异常(组= 0x4001d800)10-24 00:10:18.292:E / AndroidRuntime(463):致命异常:主要10-24 00:10:18.292:E / AndroidRuntime(463):java.lang.RuntimeException: 无法实例化应用程序 com.application.mySoSpecialApplication.mySoSpecialApplicationApplication: java.lang.NullPointerException 10-24 00:10:18.292: E / AndroidRuntime(463):at android.app.ActivityThread $ PackageInfo.makeApplication(ActivityThread.java:649) 10-24 00:10:18.292:E / AndroidRuntime(463):at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232) 10-24 00:10:18.292:E / AndroidRuntime(463):at android.app.ActivityThread.access $ 3000(ActivityThread.java:125)10-24 00:10:18.292:E / AndroidRuntime(463):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2071) 10-24 00:10:18.292:E / AndroidRuntime(463):at android.os.Handler.dispatchMessage(Handler.java:99)10-24 00:10:18.292:E / AndroidRuntime(463):at android.os.Looper.loop(Looper.java:123)10-24 00:10:18.292: E / AndroidRuntime(463):at android.app.ActivityThread.main(ActivityThread.java:4627)10-24 00:10:18.292:E / AndroidRuntime(463):at java.lang.reflect.Method.invokeNative(Native Method)10-24 00:10:18.292:E / AndroidRuntime(463):at java.lang.reflect.Method.invoke(Method.java:521)10-24 00:10:18.292: E / AndroidRuntime(463):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 10-24 00:10:18.292:E / AndroidRuntime(463):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)10-24 00:10:18.292:E / AndroidRuntime(463):at dalvik.system.NativeStart.main(Native Method)10-24 00:10:18.292: E / AndroidRuntime(463):引起:java.lang.NullPointerException 10-24 00:10:18.292:E / AndroidRuntime(463):at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:90) 10-24 00:10:18.292:E / AndroidRuntime(463):at com.application.mySoSpecialApplication.mySoSpecialApplicationApplication。(mySoSpecialApplicationApplication.java:14) 10-24 00:10:18.292:E / AndroidRuntime(463):at java.lang.Class.newInstanceImpl(Native Method)10-24 00:10:18.292: E / AndroidRuntime(463):at java.lang.Class.newInstance(Class.java:1429)10-24 00:10:18.292: E / AndroidRuntime(463):at android.app.Instrumentation.newApplication(Instrumentation.java:957) 10-24 00:10:18.292:E / AndroidRuntime(463):at android.app.Instrumentation.newApplication(Instrumentation.java:942) 10-24 00:10:18.292:E / AndroidRuntime(463):at android.app.ActivityThread $ PackageInfo.makeApplication(ActivityThread.java:644) 10-24 00:10:18.292:E / AndroidRuntime(463):... 11更多10-24 00:10:18.312:W / ActivityManager(59):强制完成活动 com.application.mySoSpecialApplication / .MainActivity 10-24 00:10:18.968:W / ActivityManager(59):活动暂停超时 HistoryRecord {4505f618 com.application.mySoSpecialApplication / .MainActivity} 10-24 00:10:21.322:I / Process(463):发送信号。 PID:463 SIG:9 10-24 00:10:21.352:I / ActivityManager(59):进程 com.application.mySoSpecialApplication(pid 463)已经死亡。 10-24 00:10:21.383:W / InputManagerService(59):窗口已经聚焦, 无视焦点增益: com.android.internal.view.IInputMethodClient$Stub$Proxy@44fc1780 10-24 00:10:29.087:W / ActivityManager(59):活动销毁超时 HistoryRecord {4505f618 com.application.mySoSpecialApplication / .MainActivity}
也许你们其中一个人会弄清问题在哪里。非常感谢你。
答案 0 :(得分:2)
这里有一些有趣的事情:
W / WindowManager(59):java.lang.RuntimeException:二进制XML文件行#25:您必须提供layout_height属性。 1
您必须在布局视图中指定layout_height,必须指定
答案 1 :(得分:1)
我猜你错过了你应该为某些View
定义的属性。
所以,对于夸大的XML布局(我在setConentView(R.layout.this_one)
方法某处onCreate()
时你膨胀的那个),只需检查是否缺少android:layout_height="wrap_content"
。如果是这样,请添加它。这可以解决您的问题。
二进制XML文件行#25:您必须提供layout_height属性。
答案 2 :(得分:0)
出现运行时错误,在logcat中查找单词引起:。 这有助于您轻松找到错误。
在你的情况下 - 请看下面的logCat ......
00:10:18.292: E/AndroidRuntime(463): Caused by: java.lang.NullPointerException
10-24 00:10:18.292: E/AndroidRuntime(463): at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:90)
10-24 00:10:18.292: E/AndroidRuntime(463): at com.application.mySoSpecialApplication.mySoSpecialApplicationApplication.(mySoSpecialApplicationApplication.java:14)
Ypu会在(mySoSpecialApplicationApplication.java:14)的第14行发现由 getContentResolver 引起的运行时错误
所以在这里你成功找到了错误。
之后再看 yugidroid 的解释 这对你有帮助。
我猜你错过了一个你应该定义到某个View的属性。 因此,对于夸大的XML布局(当你在onCreate()方法的某个地方使用setConentView(R.layout.this_one)时膨胀的那个,我猜)只是检查是否缺少android:layout_height =“wrap_content”。如果是这样,请添加它。这应该解决你的问题。 二进制XML文件行#25:您必须提供layout_height属性。