Предотвратить быстрое стрельба и увольнение Alertdialogs, запускаемых с помощью долгого ввода (физическая клавиша) нажмиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Предотвратить быстрое стрельба и увольнение Alertdialogs, запускаемых с помощью долгого ввода (физическая клавиша) нажми

Сообщение Anonymous »

все еще новичок в этом, так что надеясь на помощь. У меня есть это приложение Xamarin Android (VER 12/13) C#, написанное для портативного сканера Zebra MC9400 с прикрепленной физической клавиатурой. На одном экране в этом приложении есть ряд нескольких OK AlertDialogs, которые отображают некоторую информацию пользователю один за другим. Отлично работает, если пользователь нажимает на них по одному, но некоторые пользователи просто долго нажимают на кнопку «Ввод», которая отпускает их в быстрой последовательности и приводит к другим вопросам. Мой вопрос: есть ли способ отклонить каждый AlertDialog только после выпуска кнопки Enter (я надеялся OnKeyUp или ее эквивалент, но я не мог найти никакого решения), поэтому они вынуждены нажимать и отпустить кнопку Enter для каждого AlertDialog ?public Task ShowMessageAsync(string title, string message, Context context)
{
var tcs = new TaskCompletionSource();

Android.App.AlertDialog.Builder dialog = new Android.App.AlertDialog.Builder(context);
Android.App.AlertDialog alert = dialog.Create();
alert.SetTitle(title);
alert.SetMessage(message);

alert.SetButton("OK", (c, ev) =>
{
// Ok button click task
tcs.TrySetResult(true);
alert.Dismiss();
});

alert.Show();

Button btnOK = alert.GetButton((int)Android.Content.DialogButtonType.Positive);

btnOK.FocusChange += (object sender, View.FocusChangeEventArgs e) =>
{
tcs.TrySetResult(true);
alert.Dismiss();
};

return tcs.Task;
}
< /code>
И так называется ShowmessageAsync в коде -< /p>
//in the code - gets data, validates, all is good. So time to show user the data

await ShowMessageAsync("Information", "New CUSTOMER: " + CustName.Trim(), this);

await ShowMessageAsync("Information", "New ORDER: " + OrderNum.ToString(), this);

await ShowMessageAsync("Information", "New PO: " + PONum.Trim(), this);

< /code>
............. и так далее и т. Д. Спасибо !!

Подробнее здесь: https://stackoverflow.com/questions/793 ... enter-phys
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»