我在互联网上查了一下,据我所知,它应该工作,但是再一次,互联网总是让我想起95%的时间我错了。无论如何,任何人都可以告诉为什么这ISN&T?T工作?我已经收集了它layoutchild
添加到layout
但我不知道为什么,如果它明显存在?请提前感谢。有时最简单的事情给我带来的麻烦。
第24行将是layout.addView(layoutchild);
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout layout = (RelativeLayout) findViewById(R.layout.activity_main);
LinearLayout layoutchild = new LinearLayout(this);
TextView test = new TextView(this);
test.setText("pooppoopoppopopo");
layoutchild.addView(test);
layout.addView(layoutchild);
}
LogKitty:
java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2340)
at android.app.ActivityThread.access$800(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.eai.util.counter.MainActivity.onCreate(MainActivity.java:24)
at android.app.Activity.performCreate(Activity.java:5389)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2246)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2340)
at android.app.ActivityThread.access$800(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
您的例外日志会在第24行的MainActivity.java
文件的第24行显示异常,该文件位于onCreate
方法内。您需要告诉我们您的代码的第24行。
...但我猜它是解除引用R
或R.layout
之内的行之一,或findViewById
也返回null。
在代码中添加一些空检查/断言,或使用逐步调试器找出什么是null并处理这些情况或修复代码中导致它们为null的其他错误。
答案 1 :(得分:0)
果然,答案就是盯着我。我从未创建android:id
并且引用了布局而不是ID。事实上,回顾过去,我使用了R.layout
。本来应该是明显的,我不会得到一个ID返回。在XML中分配ID, REFERENCING 该ID具有正确的R.id
,并在干净之后在声明,修复和执行完美之前设置内容。
<强> CODE:强>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.pooper);
LinearLayout layoutchild = new LinearLayout(this);
TextView test = new TextView(this);
test.setText("DebuggedTheHeckOuttaThis");
layoutchild.addView(test);
layout.addView(layoutchild);
}