Android: вызов метода после изменения TextView

#java #android #asynchronous #onclicklistener

#java #Android #асинхронный #onclicklistener

Вопрос:

здесь простая проблема, но я не смог найти простого решения. В моем приложении для Android есть кнопка, которая вызывает метод, требующий больших вычислений, для возврата результатов может потребоваться некоторое время. Я хочу, чтобы пользователь знал, что приложение работает, а не заморожено, поэтому при нажатии этой кнопки я хочу отобразить TextView с сообщением о загрузке, затем вызвать метод и загрузить его результаты в другой TextView (при этом скрывая первый). Как я могу убедиться, что метод запускается только ПОСЛЕ того, как сообщение о загрузке становится видимым, потому что приведенный ниже код запускает метод, когда он все еще не виден?

         buttonCalculate.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                loadingMessage.setVisibility(View.VISIBLE);
                findSolution();
            }
        });
 

Ответ №1:

вы ищете индикатор выполнения, это функция Android, созданная для вас Android. Вот ссылка на официальный сайт Google: https://developer.android.com/reference/android/widget/ProgressBar

Ответ №2:

Обычно я просто отправляю всплывающее сообщение, чтобы сообщить им, что им следует подождать, без необходимости использовать индикатор выполнения, например, при нажатии кнопки внутри кнопки отображается сообщение «пожалуйста, подождите, загрузка» Toast.makeText(this, "Loading,Please Wait", Toast.LENGTH_SHORT).show(); , и затем вы можете изменить длину, как долго она должна отображаться, lenghtshort — этовсего 2 секунды