2 dygf19877 dygf19877 于 2014.11.08 08:29 提问

android 空指针的问题

在我的MainActivity的onCreate方法里面
现setContentView(R.layout.main)加载main.xml,
然后layout = (LinearLayout)findViewById(R.id.change_page);

View view = getLayoutInflater().inflate(R.layout.main_tab1, null);

LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

layout.addView(view, params);

之后我在另一个方法里面
tab1_listView = (ListView)findViewById(R.id.main_tab1_list);
int[] colors = {Color.WHITE,Color.WHITE};
tab1_listView.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
然后执行的时候就在tab1_listView.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));这一行报空指针错误,我的main.xml和main_tab1两个xml文件都正常,没有错误,实在不知道哪里的问题,请大神指教

2个回答

Kelley_cfy
Kelley_cfy   2014.12.03 09:56
已采纳

R.id.main_tab1_list 是 R.layout.main_tab1里面的话就需要,tab1_listView = (ListView)view.findViewById(R.id.main_tab1_list); 意思就是如果不写前面的view.的话会默认从当前的ContentView也就是R.layout.main中去获取, tab1_listView = (ListView)view.findViewById(R.id.main_tab1_list);中的view是前面的View view = getLayoutInflater().inflate(R.layout.main_tab1, null);这个view,你把它弄成参数传进去,或者弄成成员变量

Kelley_cfy
Kelley_cfy   2014.11.18 11:31

R.id.main_tab1_list 是 R.layout.main_tab1里面的话就需要,tab1_listView = (ListView)view.findViewById(R.id.main_tab1_list); 意思就是如果不写前面的view.的话会默认从当前的ContentView也就是R.layout.main中去获取

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!