내 사용자 지정 목록보기 몇 가지 문제에 NullPointerException이 ..안드로이드 - 목록보기 스크롤
각 뷰가 아래로 스크롤 한 후 볼 수있는 뷰를 제외하고 잘 작동 클릭에 리스너를 가지고, 그것은 NullPointerException이 경우가 발생합니다 이 중 하나를 클릭하십시오.
이러한보기는 스크롤하기 전에 볼 수있는 경우 실제로 작동하므로 조금 혼란 스럽습니다.
사용자 지정 목록보기 내 코드는 다음과 같습니다 :
public class UserListView extends ArrayAdapter<User>{
int resource;
Context context;
String response;
public UserListView(Context context, int resource, List<User> users){
super(context,resource,users);
this.resource=resource;
}
public View getView(int position, View convertView, ViewGroup parent){
LinearLayout userView;
User user = getItem(position);
userView = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater layoutInflate;
layoutInflate = (LayoutInflater)getContext().getSystemService(inflater);
layoutInflate.inflate(resource, userView, true);
TextView name = (TextView) userView.findViewById(R.id.name);
RatingBar userRating = (RatingBar) userView.findViewById(R.id.userRatingBar);
name.setText(String.valueOf(user.getName()));
float percentageNumber = ((float) user.getTotalQuestionsCorrect()/(float) user.getTotalQuestionsAnswered()) * 100;
int percentage = (int)percentageNumber;
setStars(userRating, percentage);
userView.setId(user.getUserId());
return userView;
}
private void setStars(RatingBar rb, int percent){
RatingBar starRating = rb;
int percentage = percent;
if(percentage <= 5){starRating.setRating(0);}
else if(percentage < 25){starRating.setRating(1);}
else if(percentage >= 25 && percentage < 50){starRating.setRating(2);}
else if(percentage >= 50 && percentage < 75){starRating.setRating(3);}
else if(percentage >= 75 && percentage < 100){starRating.setRating(4);}
else{starRating.setRating(5);}
}
}
어떤 도움을 주시면 감사합니다 :) 덕분에 당신의 getView에서 일어나는 이상한 물건이 많이 있습니다
안녕 CaseyB, 그것은 작업을 가지고, 그것이 내가 여전히 당신의 설명이 :) 매우 도움이되었다 오히려 getItemAtPosition보다 getChildAt를 사용하던 내 주요 활동 내에서 문제가 있었다 밝혀 – Draynaa