У меня проблема в моей игре для Android. Я использую AsyncTask, и в onProgressUpdate я вызываю метод Static из класса активности. Что-то вроде этого:Android onProgressUpdate может вызвать только статический метод?
protected void onProgressUpdate(Message... values) {
super.onProgressUpdate(values);
OnlineGameActivity.refreshGame(values[0]);
}
А потом в методе onlineGameActivity refreshGame мне нужно позвонить в другой, не статический метод, который upate статус игры, например:
public class OnlineGameActivity extends Activity {
public static void refreshGame(Message message) {
switch (message.getType()) {
case 1:
methode1();
break;
case 2:
methode2();
break;
case 3:
methode3();
break;
}
Это можно сделать что-то вроде этого?
Вы либо должны сделать методы вы вызываете статический, или каким-то образом добавить ссылку на экземпляр и сделать его статическим, или передать экземпляр объекту, в котором находятся методы в методе 'onProgressUpdate' – Austin
Вы не можете использовать методы' static' там, потому что вы не можете ничего с ними поделать. Вам нужно иметь ссылку на Activity, которая запустила эту «AsyncTask». Если ваша задача определена вне действия, например, http://stackoverflow.com/a/5523637, например – zapl