class#A で定義された関数を class#B から呼び出すにはどうすればよいですか? Class#B は AsynchTask を拡張し、Web サービスからリモート データをフェッチします。クラス#Bから呼び出そうとしているクラス#A関数は、取得したリモートデータをクラス#Aに送信して表示するために使用されます。
class#A の現在のインスタンスを class#B に渡そうとしてthis
いますが、コンテキストを渡すだけなので、関数は認識されません。
私も使用してみstatic
ましたが、関数が新しいスレッドを実行するため、関数を静的として定義するとコンパイラ エラーが発生します。
私が呼び出そうとしているコードは次のとおりです。
public void test(List<DATA> Data){
this.Data = Data;
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for(DATA data : MainActivity.this.Data){
Toast.makeText(MainActivity.this, data.title, Toast.LENGTH_SHORT).show();
}
}
});
}