【发布时间】:2018-01-21 13:53:23
【问题描述】:
我有一个Adapter 和ViewHolder。假设我只想在getView() 方法中为ViewHoler 设置一次数据,实际发生的情况是,每次滚动视图时它都会设置数据。
如何检查ViewHolder 是否已经初始化?
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Deal deal = dealsArr.get(position);
holder.textView.setText(deal.getPrice);
// Here is my issue. how can I do it only once?
changePrice(deal, true);
}
【问题讨论】:
-
你不想那样做。
AdapterView(ListView,GridView,你有什么)正在将这些Views 重复用于不同的位置。如果您不相应地更新Views,您的项目将无法正确显示。