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()の動作しません(静的でなければなりません)。私は間違っていますか?私に何ができる?SecondActivityからMainActivityで非静的メソッドを呼び出す方法
本物です。非静的メソッドを使用すると、インテントがMainActivityに呼び出されるか、新しいインスタンスが作成されたときにデータがリセットされます。 – Zoe
どうすればいいですか? –
インテントが指し示す場合でもターゲットアクティビティにデータを保持したい場合は、静的メソッドと参照を使用してください。 – Zoe