2012-11-30 2 views
1

나는 inflate xml이고이 xml에서 뷰를 생성한다. 이미지 너비를 수정해야하지만 NullPointerException이 발생합니다.Null 포인터 프로그램으로 imageView를 설정할 때

내가 가진 코드는 다음과 같습니다

1.  line.getLayoutParams().width = 20; 
2.  line.setMaxWidth(20); 
3.  line.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

내가 문제가 인플레이션, 모든 솔루션에 의해 제공됩니다 생각, 감사 및 :

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** 
} 

나는 다음과 같은 방법으로 그렇게하려고했습니다 나쁜 영어로 사과드립니다.

답변

2
final View vEst = li_est.inflate(R.layout.study_details, null); 
line = (ImageView)vEst.findViewById(R.id.img_line); 

아마 라인은 stud_ details 레이아웃 내에서 선언, 그래서 당신은 당신이 이렇게 이렇게 ... 팽창보기에 findViewById를()를 수행 할 필요가 그것을

+0

나는 이것이 내 문제라고 확신한다. 내가 전에 그것을 볼 수 없었던 것을 이해하지 못해, 고마워! – jlopez

+0

당신은 오신 것을 환영합니다. 문제가 해결되면 대답을 "수락 된 대답"으로 표시하는 것을 기억하십시오 – Blackbelt

+0

10 분을 기다려야하지만 지금도 드와 upvote를 넣으십시오 – jlopez

1

를 검색 할 vEst 객체를 필요로한다 :

최종보기 vEst = li_est.inflate (R.layout.study_details, null); line = (ImageView) vEst .findViewById (R.id.img_line);