数分私に捧げてくれてありがとう:)私はそれをしている方法ではおそらく不可能である何かをしようとしています:Dこの(間違った)コードを見てください:
public boolean myFunction() {
myClassA.setOnResultSet( new myClassB() {
@Override
public Boolean onResultSet() {
// TODO Auto-generated method stub
return (Boolean)myClassA.getResult();
}
});
Intent myIntent = new Intent(mInstanceContext, MediaPlayerService.class);
myIntent.setAction("isThatParticularStateTrueOrFalse");
mInstanceContext.startService(myIntent);
}
サービスに何かを要求するコードの最後の3行があります。このサービスは、質問の結果をシングルトンクラスXに保存して、最初のクラス(私が書いたクラス)がクラスXの結果を読み取れるようにします。ただし、事実が原因であると思われる問題があります。サービスを使用していること。サービスが非常に遅いため、質問の結果をすぐに取得できません。これは、結果が設定されたときにシングルトンクラスがメソッドonResultSet()を呼び出す方法です。(これは私が自分で実装しようとしている一種のリスナーです:D)しかし、関数myFunction()で結果を返すにはどうすればよいでしょうか?残念ながら、結果を返す関数onResultSet()を作成することはできません。これは、私が作成したコードで実行しようとしたことですが、ご覧のとおり、エラーが発生します。エラーが発生する理由は理解できますが、さようなら、ブロードキャスターを使用しないと解決策を見つけることができません(可能であれば使用したくありません)。皆さん、ありがとうございました :)