У меня есть следующий код для кнопки, который я хочу создать для подключения через сокет, а затем попытаться отправить данные по сети. Когда у меня нет сервера для сокета, требуется несколько секунд, прежде чем приложение распознает, и я получаю ошибку. В это время приложение ничего не делает (как и следовало ожидать), чтобы получить простое уведомление для пользователя, чтобы показать ему, что приложение не сломано, я хочу вызвать небольшой ProgressBar.
private void sendButtonListener(Button sendButton, final String server,
final int port) {
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
refreshInput();
showDialog(DIALOG_CONNECTING);
//Getting the SocketConnection and try to send the Data
attempToSendXML(builder, profilename);
dismissDialog(DIALOG_CONNECTING);
}
});
}
Моя проблема в том, что, похоже, метод showDialog()
вызывает ProgressBar после завершения метода onClick(View v)
. Так что для моего примера он ничего не показывает (он просто зависает, пока метод attempToSendXML()
не завершится), потому что я закрываю диалог после того, как попытался отправить данные.
Надеюсь, вы, ребята, получите мою точку зрения и сможете мне помочь. Я искал около 2 часов и действительно не понимаю ...