首页 文章

ZXing.Mobile与Xamarin c#ANDROID有问题

提问于
浏览
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的三星Galaxy Note N7000)

有人可以帮忙吗?

Update:

我一直在玩它并且如果我之后旋转手机它确实有效,任何想法为什么在扫描条形码后旋转将完成该过程并将结果放入文本框?

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);
        }));
    

相关问题