MonoDroid OnBackPressed не работает - PullRequest
0 голосов
/ 17 января 2012

Это определенно выстрел, потому что я могу только на мгновение увидеть всплывающее диалоговое окно, но затем экран в любом случае отступает.Как мне остановить работу кнопки «Назад»?Мое устройство установлено на Gingerbread, а минимальный SDK - 10.

public override void OnBackPressed()
    {

        base.OnBackPressed();

        TableLayout tl = (TableLayout)FindViewById(Resource.Id.myEquip);
        int cnt = tl.ChildCount;
        for (var i = 0; i < cnt; i++)
        {
            TableRow tr = (TableRow)tl.GetChildAt(i);
            TextView tv = (TextView)tr.GetChildAt(0);

            if (tv.Text != "Equipment not found at current store")
            {
                Dialog d = inst2.showBuilder(this, "test", tv.Text);
                d.Show();
            }
        }
        return;
    }

1 Ответ

2 голосов
/ 17 января 2012

Вы звоните base.OnBackPressed(), поэтому вы по-прежнему получаете поведение по умолчанию.Если вы не хотите, чтобы система обрабатывала кнопку возврата, вам не следует вызывать этот метод.Тем не менее, в большинстве случаев вы не должны препятствовать работе кнопки «назад», поскольку это может быть очень странным для пользователя.Один из примеров, где это имеет смысл, - это если вы строите веб-браузер: нажатие назад вернет вас на предыдущую страницу, если она была, и вызовет base.OnBackPressed(), если больше не осталось страниц.

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