我有一个活动,其中有一个名为asynctask的类。在asynctask类中,我想将计数器声明为静态变量,但我不能,因为asynctask类被假定为mainactivity的内部类。
有没有办法在asyctask“内部类”中创建一个静态变量来计算为asynctask创建的对象的数量?
代码
class MainActivity extends Activity {
....
....
....
....
class MyAsync extends AsyncTask <void, Void, Void> {
private static int counter = 0; // is not possible here
}
}
最佳答案
您可以创建一个构造函数来增加counter
中的AsyncTask
。
这样做:
class MainActivity extends Activity {
....
....
....
....
int counter = 0;
class MyAsync extends AsyncTask <void, Void, Void> {
MyAsync()
{
counter++;
}
}
}
其背后的逻辑是:任何类的构造函数都将被调用
每次创建新对象时。内部构造函数
我们有
counter++
所以每次创建新对象时计数器递增,您将拥有
对象已创建。