3

私は必死に ZXing.Mobile を Xamarin VS2012 C# 内で動作させようとしていますが、質問に答えるためにネットで何かを見つけるのに苦労しています! :(

これは私が持っているコードです:

bnGetComp.Click += (sender, e) =>
{
    var scanner = new ZXing.Mobile.MobileBarcodeScanner(this);

    scanner.Scan().ContinueWith((t) =>
    {
        if (t.IsFaulted)
        {
            aTbCompName.Text = t.Exception.ToString();
        }
        else if (t.Result != null)
        {
            aTbCompName.Text = t.Result.Text;
        }
    });
};

私の電話はスキャナーを起動し、バーコードをスキャンしてからテキストボックスを空にします.aTbCompName.textに文字列値、つまり「TEST」を入力してみましたが、それでも空になります! 私はそれが何をしているのか理解できず、Xamarin でバグガーをすべて実行していないように見えるため、ブレークポイントを貼り付けることができません...

(電話は、公式の JB 4.1.2 を実行している Samsung Galaxy Note N7000 です)

誰でも助けることができますか?

アップデート:

私はそれをいじっていましたが、後で電話を回転させるとうまくいきます.バーコードがスキャンされた後に回転すると、プロセスが終了し、結果がテキストボックスに表示される理由はありますか?

4

1 に答える 1

3

これは機能する場合と機能しない場合がありますが、UI スレッドで UI の更新を実行するコードを持っています...以下のコードを参照してください...

scanner.Scan().ContinueWith(t =>
RunOnUiThread(
    () =>
    {
        searchBar.Text = t.Result.Text;
        var intent = new Intent(this, typeof(SearchResultsActivity));
        intent.PutExtra("Description", searchBar.Text);
        StartActivity(intent);
    }));
于 2013-06-09T04:33:59.543 に答える