2014-09-23 4 views
-3

В моем проекте есть 2 мероприятия. Я хочу вызвать новое действие при нажатии кнопки «Назад». Я попробовал как onBackPressed(), так и onKeyDown(). Мой код приведен ниже. Я искал это в google, но ничего не работало для меня.onBackPressed() не называет новую деятельность

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 
     Log.d("update", is_updated.toString()); 
     if(is_updated){ 
      Intent i = new Intent(ProductDetailsActivity.this,ProductListActivity.class); 
      startActivity(i); 
      finish(); 
      is_updated = false; 
     }else { 
      finish(); 
     } 
    } 

Я вошел значение «is_update», даже значение «истина» Его не называя ProductListActivity.class, тот же код работает для кнопки click.How я могу назвать новую деятельность в onBackpressed() , Может кто-нибудь мне помочь.

+0

Почему вы хотите начать новую деятельность. Кнопка «Назад» позволяет перейти к предыдущей деятельности. – Raghunandan

+0

Я знаю, что я хочу обновить некоторые данные в предыдущем действии –

+3

, а затем использовать 'startActivityForResult' – Raghunandan

ответ

1

как @ Raghunandan сказал. Здесь я объясняю его слова. Если вы хотите, чтобы обновить данные в предыдущем activity вы должны использовать startActivityForResult для этого вы звоните finish() и override finish() и использовать setResult(RESULT_OK) как:

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 
     Log.d("update", is_updated.toString()); 
     if(is_updated){ 

      finish(); 
      is_updated = false; 
     } 
    } 

@Override 
    public void finish() { 
     super.finish(); 

     Intent intent = new Intent(); 
     intent.putExtra("updated_data", "data");//set whatever your updated data is 
     setResult(RESULT_OK, intent); 
    } 

Теперь вернемся к предыдущему методу activity переопределение onActivityResult. Я полагаю, что вам известен метод onActivityResult и его использование, если он не читается с here

Надеюсь, вы получите желаемые результаты.

+0

Мне не нужны данные из этого действия. Если какое-либо обновление во втором действии (на сервере), я хочу перезапустить 1-ое действие на кнопку «Назад». –

+0

Вы не упомянули в своем вопросе о данных, обновленных на сервере ... – XtreemDeveloper

+0

Но я упомянул, что хочу начать новую деятельность в onbackpressed() –

 Смежные вопросы

  • Нет связанных вопросов^_^