In meinem Adapter habe ich drei Variationen der Ansicht mit gelb, orange und rot für ihre unterschiedliche Textfarbe. Um mit diesen zu gehen, versuche ich drei verschiedene Bilder als Thumbnails zu haben (hhy, hho, hhr). Wenn es läuft, stimmen die Bilder nicht mit ihrem entsprechenden Ansichtselement überein, ich bekomme das hho und hhy entweder einen Gegenstand zu früh oder zu spät in der Listview. Ich habe die Namen der Imageview-Layouts korrigiert, daher bin ich mir nicht sicher, warum sie nicht korrekt angezeigt werden.Bildansicht nicht korrekt über Listview-Adapter
PostItemAdapter.java
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder viewHolder;
int listViewItemType = getItemViewType(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.postitem, null);
viewHolder = new ViewHolder();
//viewHolder.itemThumbView = (ImageView) convertView.findViewById(R.id.itemThumb);
if (listViewItemType == TYPE_short) {
viewHolder.itemTitleView = (TextView) convertView.findViewById(R.id.itemTitleLabel);
viewHolder.itemThumbView = (ImageView) convertView.findViewById(R.id.itemThumb);
} else if (listViewItemType == TYPE_med) {
viewHolder.itemTitleView = (TextView) convertView.findViewById(R.id.itemTitleLabel1);
viewHolder.itemThumbView = (ImageView) convertView.findViewById(R.id.itemThumb1);
} else {
viewHolder.itemTitleView = (TextView) convertView.findViewById(R.id.itemTitleLabel2);
viewHolder.itemThumbView = (ImageView) convertView.findViewById(R.id.itemThumb2);
}
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
if (listViewItemType == TYPE_short) {
viewHolder.itemTitleView.setText(datas.get(position).itemTitle);
viewHolder.itemThumbView.setImageResource(R.drawable.hhy);
} else if (listViewItemType == TYPE_med) {
viewHolder.itemTitleView.setText(datas.get(position).itemTitle);
viewHolder.itemThumbView.setImageResource(R.drawable.hho);
} else {
viewHolder.itemTitleView.setText(datas.get(position).itemTitle);
viewHolder.itemThumbView.setImageResource(R.drawable.hhr);
}
return convertView;
}
}
und das entsprechende Layout postitem.xml
<ImageView
android:id="@+id/itemThumb"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/hhy"
android:scaleType="centerCrop"
android:layout_marginRight="5dp"/>
<ImageView
android:id="@+id/itemThumb1"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/hho"
android:scaleType="centerCrop"
android:layout_marginRight="5dp"/>
<ImageView
android:id="@+id/itemThumb2"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/hhr"
android:scaleType="centerCrop"
android:layout_marginRight="5dp"/>
<TextView
android:id="@+id/itemTitleLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/itemThumb"
android:layout_toRightOf="@id/itemThumb"
android:maxLines="2"
android:textIsSelectable="false"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#ffff00"
android:ellipsize="end"
/>
<TextView
android:id="@+id/itemTitleLabel1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/itemThumb"
android:layout_toRightOf="@id/itemThumb"
android:maxLines="2"
android:textIsSelectable="false"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#ffa500"
android:ellipsize="end"
/>
<TextView
android:id="@+id/itemTitleLabel2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/itemThumb"
android:layout_toRightOf="@id/itemThumb"
android:maxLines="2"
android:textIsSelectable="false"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#ff0000"
android:ellipsize="end"
/>
Bild von dem, was geschieht;