我正在膨胀xml,我从这个xml创建视图。我需要修改图像的宽度,但是我得到一个NullPointerException。
我的代码是:
for (int o = 0; o < study.size(); o++) {
LayoutInflater li_est= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View vEst = li_est.inflate(R.layout.study_details, null);
line = (ImageView)findViewById(R.id.img_line);
if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
**// HERE NEED CHANGE WIDTH OF LINE BUT I GET THE EXCEPTION**
}
我试图通过以下方式这样做:
1. line.getLayoutParams().width = 20;
2. line.setMaxWidth(20);
3. line.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
我认为问题来自通货膨胀,任何解决方案,谢谢你,我为我糟糕的英语道歉。
答案 0 :(得分:2)
final View vEst = li_est.inflate(R.layout.study_details, null);
line = (ImageView)vEst.findViewById(R.id.img_line);
可能在stud _ details
布局中声明了line,所以你需要vEst
对象来检索它
答案 1 :(得分:1)
你必须在膨胀的视图上执行findViewById()...所以这样做:
final View vEst = li_est.inflate(R.layout.study_details,null); line =(ImageView) vEst .findViewById(R.id.img_line);