0
나는 ratingView와 texview 요소가있는 listView에 문제가 있습니다. 한 행의 등급을 변경하면 다른 행도 무작위로 변경됩니다.안드로이드의 ListView에서 ratingBar와 함께 문제가 발생했습니다.
코드는 다음과 같습니다. 누구라도 도움이된다면 도움이 될 것입니다. 감사.
public class QuestionsInfoAdapter extends ArrayAdapter<RatingInfo> {
private final Activity context;
private final List<RatingInfo> list;
public QuestionsInfoAdapter(Activity context, List<RatingInfo> list) {
super(context, R.layout.adapter_questionlist, list);
this.context = context;
this.list = list;
}
static class ViewHolder {
public TextView questiontxt;
RatingBar ratingBar1;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View rowView = convertView;
try {
if (rowView == null) {
final LayoutInflater inflater = context.getLayoutInflater();
rowView = inflater.inflate(R.layout.adapter_questionlist, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.questiontxt = (TextView) rowView.findViewById(R.id.questiontxt);
viewHolder.ratingBar1 = (RatingBar) rowView.findViewById(R.id.ratingBar1);
viewHolder.ratingBar1.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
CustomerRatingForm.allShowRecords.get(position).setRating("" + rating);
}
});
rowView.setTag(viewHolder);
}
final ViewHolder holder = (ViewHolder) rowView.getTag();
final String s = CustomerRatingForm.allShowRecords.get(position).getQuestion();
holder.questiontxt.setText(s);
} catch (Exception e) {
Log.d("Exception", "Exception>>" + e);
}
return rowView;
}
와 위치 X에서 각 등급 표시 줄을 설정 한 후 viewHolder.ratingBar1에 값을 넣어 때 getView를 호출합니다. – tebitoq