AutoCompleteTextView(只有创建视图层次结构的原始线程才能触及其视图。)

问题描述 投票:0回答:1

我在Activity或Fragment中有一个AutoCompleteTextView,当我点击AutocompleteTextView中的一个项目时,我遇到了标题中指定的异常。

我试图找到我到底发生异常但没有运气的地方。我遇到的最后一个事件是AutocompleteTextView的BeforeTextChanged。我知道我需要在UI线程中运行一些代码,但我不知道确切的代码。

关于如何解决我的问题的任何建议。先感谢您。

    public AutoCompleteTextView autoCompleteTextView;         

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        SetContentView(Resource.Layout.fragment_camera2_basic);
        autoCompleteTextView = (AutoCompleteTextView)FindViewById(Resource.Id.autoCompleteTextView1));

        autoCompleteTextView.Threshold = 1;

        autoCompleteTextView.BeforeTextChanged += (sender, e) => {};
    }
c# android xamarin.android autocompletetextview
1个回答
0
投票

只有创建视图层次结构的原始线程才能触及其视图。

正如评论中所建议的那样。您必须将更新UI的后台任务部分移动到主线程上。有一个简单的代码:

RunOnUiThread(() => {
    //UI Thread Code 
});

Android.App.Activity.RunOnUiThread Method的文档

您需要检查后台线程和UI线程是否在代码中混合在一起。

© www.soinside.com 2019 - 2024. All rights reserved.