getView()int使每个负载都加倍

时间:2016-12-27 05:29:20

标签: java android getview

我的应用程序中出现了这种奇怪的现象。我正在使用下面列出的代码来填充具有计数器值的TextView。每次视图刷新计数器double的值时,我都会在每次循环后将计数器设置为0,但似乎不起作用。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View itemView = convertView;
    if (itemView == null) {
        itemView = inflater.inflate(R.layout.layouttitle, container, false);
    }
    for (myStruct singleItem : myData) {
        counter++;
    }
    TextView totalsText = (TextView) itemView.findViewById(R.id.myTotalsText);
    totalsText.setText("" + counter);
    counter++;
}

1 个答案:

答案 0 :(得分:3)

多次调用适配器的

getView()方法并且无法保证调用它的次数,所以最好不要将此方法用于任何计算或任何其他与项目数相关的任务。你的ListView。

为什么counter是一个全局变量,你能解释一下吗。