-1
私のアプリには埋め込みjarライブラリがあります。 OnCreateメソッドでは、私のコードに見られるようにライブラリをインスタンス化する必要があります。このライブラリを使用する他の方法はありません。 ハンドラが呼び出され、メッセージの結果が利用可能になりますが、使用可能になった時点でValueFromHandlerをOnCreateメソッドに戻す機会はありません。 私の質問は:ちょうどハンドラがどのように呼び出し元に値を返す必要があるように見えるかを見て誰か小さなコードスニペットがありますか?Handlerから価値を取り戻す
これは私のコードです:
public class MainActivity : Activity{
JarLibrary jarlib;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
jarlib = new JarLibrary(this, new JarHandler(), null);
jarlib.Run(ValueFromHandler) //Here I would need the value back from the handler
}}
public class JarHandler : Handler
{
public override void HandleMessage(Message msg)
{
switch (msg.What)
{
case jarlib.MessageStateChange:
if (msg.Arg1 == jarlib.StateReadyToRun)
{
ValueFromHandler = msg.Obj;
Console.WriteLine(ValueFromHandler); //Once this value "msg.Obj" is available I need to bring it back to the caller (On Create)
Toast.MakeText(Application.Context, "Ready to run", ToastLength.Short).Show();
}
break;
}
}
}
「ValueFromHandler」の宣言はどこですか?おそらくグローバル化するのだろうか? –
グローバルにすることができません – ildasm
それは有益だった..なぜそれは動作しません? –