java Android视图不为null,但强制转换到ViewGroup会使其为null
我有一个活动添加了一个新视图onPostCreate()
,如下所示:
View rootView = findViewById(安卓.R.id.content);
((ViewGroup)rootView).addView(myView);
当这段代码运行时,我得到一个NullPointerException
。但是,如果我不强制转换它并检查输出:
View rootView = findViewById(安卓.R.id.content);
Log.v(TAG, "rootView is " + rootView);
我得到日志:
1340-1340/com.example.app V/MyActivity﹕ rootView is 安卓.widget.FrameLayout@414d1b48
为什么会发生这种情况
编辑:我忘了添加setContentView()
是在前面的onCreate()
中调用的,我确实在强制转换之前调用了super.onPostCreate()
# 1 楼答案
施法不是问题,否则会抛出
ClassCastException
。 似乎传递给addView(View view)
方法的myView
是空的,我看不到任何其他可能性。 确保已正确初始化myView
# 2 楼答案
确保以下行中的
myView
不为空: