gpt4 book ai didi

android - 更新 ListView 中的 ImageView

转载 作者:搜寻专家 更新时间:2023-11-01 09:05:09 25 4
gpt4 key购买 nike

我坚持了几个小时,我试图为我的 ListView 中的第一个列表项设置图像,但其他列表项上的一些 ImageViews 也在发生变化。

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 处的玩家得到更新,它不遵循逻辑顺序。当我滚动时,图像再次发生变化。

谢谢

最佳答案

您正在回收 View ,因此当您不想设置列表项图像时,您必须明确取消设置它:

if (position == 0) {
holder.imageview.setImageResource(R.drawable.ball);
} else {
holder.imageview.setImageDrawable(null);
}

(否则它只会记住上次使用该 View ((即 convertView))时设置的图像!

关于android - 更新 ListView 中的 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com