Я реализую приложение с Tabhost. На одной из моих вкладок я выполняю несколько действий (ActivityGroup).Невозможно переопределить onBackНастроенный ни onKeyDown - Android
Например: Я нахожусь в действии один, после щелчка в списке, я перехожу к действию два на той же вкладке. Проблема в том, что когда я нажимаю кнопку «Назад», приложение закрывается, и я хочу вернуться к первой активности. Я перезаписал метод onBackPressed(), метод onKeyDown, и они не будут вызваны, они не будут уволены. Я видел много сообщений с той же проблемой, но любое из предложенных решений не работает.
был бы рад за вашу помощь!
Создание вкладок:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_tab);
TabHost fichas = getTabHost();
fichas.setup();
TabHost.TabSpec spec=fichas.newTabSpec("tab1");
Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
spec.setContent(i);
spec.setIndicator("Hoy");
fichas.addTab(spec);
TabHost.TabSpec spec2=fichas.newTabSpec("tab2");
Intent i2 = new Intent(getApplicationContext(), QueActivity.class);
spec2.setContent(i2);
spec2.setIndicator("Que");
fichas.addTab(spec2);
spec=fichas.newTabSpec("tab3");
spec.setContent(R.id.Cuando);
spec.setIndicator("Cuando");
fichas.addTab(spec);
spec=fichas.newTabSpec("tab4");
spec.setContent(R.id.Donde);
spec.setIndicator("Donde");
fichas.addTab(spec);
}
На QueActivity.class я уверен, реализации onClickListener, чтобы показать новый вид деятельности в той же вкладке:
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
//creo el nuevo objeto para poder llamarlo
Intent intent = new Intent(QueActivity.this, ProductosCategorias.class);
//Creo la informacion para pasar entre actividades
Bundle informacion= new Bundle();
intent.putExtra("eventos",categorias.get(position).getEventos());
Toast.makeText(getApplicationContext(), "has seleccionado "+ categorias.get(position).getNombre(), Toast.LENGTH_SHORT).show();
//New activity
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = (getLocalActivityManager().startActivity("productos", intent)).getDecorView();
setContentView(view);
}
активность запрошенные. Вот где я хочу, чтобы переопределить onBackPressed()
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_productos_categorias);
//Do stuff here
});
Вне метода OnCreate я переопределение:
public void onBackPressed(){
System.out.println("Fires");
//Go back to the other intent
}
Проблема заключается в том, когда я нажимаю на клавишу возврата я не получить мой перекрытый метод что приложение закрыто.
Попробуйте вызвать super.onBackPressed перед линией System.out. – Razgriz
@ Razgriz уже пытался, но ничего не происходит – n4h1n
Возможный дубликат [Проблема с onActivityResult в активности вкладок] (http://stackoverflow.com/questions/11556684/issue-with-onactivityresult-in-tab-activity) –