0
私はアンドロイドゲームに問題があります。私はAsyncTaskを使用し、onProgressUpdateではアクティビティクラスからStaticメソッドを呼び出します。このような何か:Android onProgressUpdateはstaticメソッドしか呼び出せませんか?
protected void onProgressUpdate(Message... values) {
super.onProgressUpdate(values);
OnlineGameActivity.refreshGame(values[0]);
}
そして私は、例えばゲームのステータスをupate他のいくつかの非静的メソッドを呼び出す必要refreshGame onlineGameActivity方法で:
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'メソッドを使用することはできません。なぜならそれらのメソッドで便利なことはできないからです。この 'AsyncTask'を開始したアクティビティへの参照が必要です。あなたのタスクがhttp://stackoverflow.com/a/5523637のようなアクティビティの外で定義されている場合 – zapl