2
我被困在這個好幾個小時,我試圖爲我的ListView中的第一個列表項目設置圖像,但其他列表項目中的一些ImageViews也在改變。更新一個ListView中的ImageView
public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public ArrayList<ListItem> myItems = new ArrayList<ListItem>();
Player[] players;
public MyAdapter() {
DataBase banco = new DataBase(ScoreBoard.this);
players = banco.consultaJogadores();
mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int i = 0; players[i] != null; i++) {
ListItem listItem = new ListItem();
listItem.caption = players[i].getName();
myItems.add(listItem);
}
notifyDataSetChanged();
}
public int getCount() {
return myItems.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.topplayer, null);
holder.textView = (TextView) convertView.findViewById(R.id.topPlayerTextView);
holder.imageview = (ImageView) convertView.findViewById(R.id.topPlayerImageView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.textView.setText(position + " " + players[position].getName() + " " + players[position].getScore());
if (position == 0) {
holder.imageview.setImageResource(R.drawable.ball);
}
return convertView;
}
}
class ViewHolder {
TextView textView;
ImageView imageview;
}
class ListItem {
String caption;
}
我想改變列表中第一位玩家的圖像。 索引0,1,4,6,8,9,11,13和14處的玩家得到更新,它不遵循邏輯順序。 當我滾動時,圖像再次變化。
感謝
謝謝你。你不能設置null ImageResource,但我試過這個:holder.imageview.setImageResource(R.drawable.blank); 我會做出更好的東西啦te和我iwll從ViewHolder中刪除圖像viw。 所以,再次感謝你,救了我! – user1684024
'setImageDrawable',或者是使用透明圖像資源 – Blundell
哦,是的,使用透明的圖像是更好 ,但我會嘗試刪除的ImageView – user1684024