【发布时间】:2017-05-21 17:25:14
【问题描述】:
public class SecondClass extends AppCompatActivity{
public void randomizareImagini(){
int[] rndInt = new int[20];
int[] id= new int[20];
String[] imgName = new String[20];
Random rand = new Random();
int[] ar1 = new int[20];
for (int i=1; i<16;i++){
ar1[i] = rand.nextInt(3) + 1;
rndInt[i]=ar1[i];
imgName[i]="img"+rndInt[i];
id[i] = getResources().getIdentifier(imgName[i], "drawable", getPackageName());
}
for (int i=0;i<15;i++){MainActivity.list.get(i).setImageResource(id[i+1]);}
}
}
如何将此方法调用到 MainActivity(我找不到它,因为它是非静态的)?如果我将其设为静态,则其中的代码将无法使用 getResources() (它必须是非静态的)。我错在哪里?我能做什么?
【问题讨论】:
-
事情是;当向 MainActivity 调用 Intent 或创建新实例时,使用非静态会重置数据。
-
我该怎么办?
-
如果您想将数据保留在目标活动中,即使意图指向它,请使用静态方法和引用
-
这是一个非常糟糕的主意。使用意图。
-
你需要将
MainActivity.list移动到一个单独的类中......静态变量在Android活动中经常出错
标签: java android static non-static