активность и кнопка назад - PullRequest
1 голос
/ 02 ноября 2010

на интерфейсе отображается кнопка «Назад». Есть три вида деятельности, скажем, A, B, C. Деятельность А является заставкой. Деятельность B является домашним экраном. Занятие C - экран редактирования. только на экране редактирования у меня кнопка возврата. когда пользователь нажимает, что я открываю действие B, которое также содержит своего рода HTTP-запрос и ответ. я хочу чтобы предыдущая активность из стека отображалась? как я могу этого достичь? я могу открыть предыдущее действие, нажав кнопку «Назад» на устройстве?

когда я нажимаю кнопку "Назад" на устройстве, не отправляется http запрос? я хочу добиться такого поведения, когда нажимаю кнопку возврата пользовательского интерфейса.

Ответы [ 3 ]

4 голосов
/ 02 ноября 2010

Я думаю, что в вашей кнопке возврата вы можете вызвать намерение для действия B, и ваш http запрос и код ответа находится в функции onCreate

Но кнопка возврата на устройстве не будет вызывать при создании
Для этого есть два решения

Один, как сказал Macarse, слушай на KeyDown

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        Intent i = new Intent(ActivityC.this,ActivityB.class);    
            startActivity(i);   
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

И второй способ - написать код при запуске ActivityB

.
protected void onStart() {
        //http request and response code
    }

Этот onStart будет вызывать все это время, когда ActivityB откроется

Надеюсь, это поможет вам

0 голосов
/ 07 марта 2013

Решение с onKeyDown может работать, но, по моему мнению, использование onBackPressed намного проще.

Вы можете перехватить клавишу Назад с помощью следующего переопределения:

@Override
public void onBackPressed()
{
   //logic here, for example an intent
   Intent intent = new Intent(this, ActivityB.class);    
   startActivity(intent);   
}

И наоборот super.onBackPressed(); возвращает к предыдущему действию в истории.

0 голосов
/ 02 ноября 2010

Прежде всего, неправильно отображать кнопку возврата в пользовательском интерфейсе. Каждое устройство Android имеет кнопку возврата.

Если вы хотите обрабатывать кнопку возврата по-другому, отметьте эту ссылку .

...