ProgressBar Видимость игнорируется - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь отобразить индикатор выполнения, когда запускаю асинхронную задачу, и после завершения асинхронной задачи установите индикатор выполнения обратно на невидимый.По какой-то причине progressBar не отвечает на код, который изменяет свойство видимости.

        Activity.RunOnUiThread(() =>
        {
            prog.Visibility = ViewStates.Visible;
        });

        Task<bool> createPickTask = Task.Run(() => Utils.createPick(firstBet, myBet, game));
                bool createPickResult = createPickTask.Result;

        if (createPickResult)
        {
            adapter.NotifyItemChanged(pos);
        }
        else
        {
            showErrorMessage();
        }

        Activity.RunOnUiThread(() =>
        {
            prog.Visibility = ViewStates.Gone;
        });

1 Ответ

0 голосов
/ 19 октября 2018

По какой-то причине progressBar не отвечает на код, который изменяет свойство видимости.

Код не вступит в силу для пользовательского интерфейса, пока вся эта часть кода не будет выполнена.Вы можете попытаться установить индикатор выполнения в Задаче.Например:

    private void Button_Click(object sender, System.EventArgs e)
    {
        Activity.RunOnUiThread(() =>
        {
            prog.Visibility = ViewStates.Visible;
        });

        Task<bool> createPickTask = Task.Run(/*async*/ () => {
            //await Task.Delay(3000);
            bool createPickResult = Utils.createPick(firstBet, myBet, game);

            if (createPickResult)
            {
                adapter.NotifyItemChanged(pos);
            }
            else
            {
                showErrorMessage();
            }

            Activity.RunOnUiThread(() =>
            {
                prog.Visibility = ViewStates.Gone;
            });
            return createPickResult;
        });
    }

И результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...