내 데이터의 시각적 측면을 변경하기 위해 Android 용 사용자 지정 ListView 어댑터를 작성했습니다. ListView를로드하면 원하는 항목의 모양이 변경됩니다. 보기를 스크롤하면 목록의 모든 항목의 모양이 수정 될 때까지 다른 항목이 무작위로 변경됩니다. 나는이 코드 유형에 대한 SO에 읽은에서특정 항목을 변경하는 사용자 지정 ListView 어댑터
, 나는 안드로이드 된 뷰를 재 - 사용하기 때문에
public View getView(int position, View convertView, ViewGroup parent)
의 position
필드가 반드시 내 데이터 구조에 매핑되지 않는 것을 알고있다. 이것은 내가 함께 일하는 데 어려움을 겪고있는 것처럼 보입니다.
업데이트의 getView 방법 :
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View rowView = convertView;
if (rowView == null)
{
LayoutInflater inflater = LayoutInflater.from(context);
rowView = inflater.inflate(R.layout.rowlayout, null);
ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) rowView.findViewById(R.id.tv01);
rowView.setTag(viewHolder);
}
ViewHolder holder = (ViewHolder) rowView.getTag();
String s = names[position];
holder.text.setText(s);
if (s.startsWith("a"))
{
holder.text.setTextColor(0xff00ffff);
}
return rowView;
}
내가 런타임에 그들을 변화보다 더 나은 방법이있다, 그래서 만약 정적 수정해야 할 항목을, 또한 일 것이라고 ! 어떤 도움이라도 대단히 감사 할 것입니다. 감사합니다.
당신이 tv01을 제외하고, rowView에서 아이 뷰가 있습니까? –
ViewHolder의 코드를 게시하여 멤버 필드를 볼 수 있습니다. –