getView() int 每次加载都会加倍
getView() int keeps doubling every load
我的应用程序中出现了这种奇怪的情况。我正在使用下面列出的代码用计数器的值填充 TextView。每次视图刷新计数器的值时,我都会在每次循环后将计数器设置为 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++;
}
getView()
Adapter 的方法调用了多次,并且不能保证它被调用了多少次,所以最好不要将此方法用于任何计算或与调用次数相关的任何其他任务ListView 中的项目。
还有为什么counter
是全局变量,能解释一下吗
我的应用程序中出现了这种奇怪的情况。我正在使用下面列出的代码用计数器的值填充 TextView。每次视图刷新计数器的值时,我都会在每次循环后将计数器设置为 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++;
}
getView()
Adapter 的方法调用了多次,并且不能保证它被调用了多少次,所以最好不要将此方法用于任何计算或与调用次数相关的任何其他任务ListView 中的项目。
还有为什么counter
是全局变量,能解释一下吗