按 ID 查找布局时 ZygoteInit$MethodAndArgsCaller.run() 错误
ZygoteInit$MethodAndArgsCaller.run() error when finding layout by ID
我是菜鸟。这是我来自 MainActivity.java:
的 onCreate 方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
NumberPicker np = new NumberPicker(this);
np.setId(10);
np.setMaxValue(6);
np.setMinValue(2);
np.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
LinearLayout linearLayout = (LinearLayout) findViewById(R.layout.activity_main);
linearLayout.addView(np);
}
执行此代码时,none 的视图元素显示在 Android 屏幕上,'zygoteInit error' 在 Eclipse 中弹出。我应该如何更改最后一行中的 findViewById 命令才能将视图 (NumberPicker) 添加到 LinearLayout?
findViewById(R.layout.activity_main)
错了! R.layout
标识整个布局,而不是该布局中的任何视图。当您调用 findViewById
时,您必须传递 R.id.<something>
.
我是菜鸟。这是我来自 MainActivity.java:
的 onCreate 方法protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
NumberPicker np = new NumberPicker(this);
np.setId(10);
np.setMaxValue(6);
np.setMinValue(2);
np.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
LinearLayout linearLayout = (LinearLayout) findViewById(R.layout.activity_main);
linearLayout.addView(np);
}
执行此代码时,none 的视图元素显示在 Android 屏幕上,'zygoteInit error' 在 Eclipse 中弹出。我应该如何更改最后一行中的 findViewById 命令才能将视图 (NumberPicker) 添加到 LinearLayout?
findViewById(R.layout.activity_main)
错了! R.layout
标识整个布局,而不是该布局中的任何视图。当您调用 findViewById
时,您必须传递 R.id.<something>
.