2015-04-24 3 views
1

У меня есть Listactivity (ListView) и поиск в ListActivity. Когда я нажимаю на любую строку в ListActivity, он запускает Activity2.Android onBackPressed

Проблема в том, что при поиске в ListActivity у меня есть результаты поиска. Когда я нажимаю на любую строку в результатах поиска, она запускает Activity2. Когда я нажимаю «назад» из Activity2, он запускает ListActivity, а не выполняет поиск результатов.

Причина в том, что OnBack нажата, onResume вызывается в ListActivity, который заполняет адаптер полным списком.

Может ли кто-нибудь вести меня о том, как запускать результаты поиска при нажатии onBack?

+0

Если я правильно понял, вы должны сохранить результат и вернуться - восстановить его. но для получения дополнительной информации нужно видеть код, трудно сказать, не видя его. – Yurets

+0

Добавьте свой код и свою ошибку в logcat – vijay

+0

Пожалуйста, разместите свой код. Я думаю, что вы делаете некоторую работу в onResume() FirstActivity. – droidd

ответ

0

Как только открытие деятельности2, а затем возвращается к Activity1, там не нужно сохранять состояние и восстанавливать его. Просто добавьте еще немного коды «который будет принимать поисковый запрос от EditText и сделать поиск автоматически» в вашем onResume() методы после код, заполняющих список

0

1) Вам нужно сделать, не называйте finish() в ListActivity перед тем, как начать новый.
2) В SecondActivity вы должны называть финиш в onBackPressed().


//1) 
private void startSecondActivity() 
{ 
    Intent intent = new Intent(ListActivity.this, SecondActivity.class); 
    //put some Extra if needed 
    startActivity(intent); 
} 

//2) 
@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    finish(); 
} 
0

мне удалось сохранить последний запрос набранного в variable.Then, когда на спине нажат, я сделал поиск по запросу после заполнения списка.

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