2014-01-05 4 views
0

Я хотел сделать приложение с tabhost. Каждая вкладка имеет другой макет. И в каждом макете я хочу использовать другие действия. Является ли это возможным? Как это сделать?android tabhost несколько действий и макетов

Я сделал что-то вроде этого:

myTabHost =(TabHost) findViewById(R.id.TabHost); 

      myTabHost.setup(this.getLocalActivityManager()); 
     // Adding tabs 

      // tab1 settings 
     TabSpec spec = myTabHost.newTabSpec("tab_creation"); 
     spec.setIndicator("Strona główna",getResources().getDrawable(android.R.drawable.ic_menu_add));   
     Intent i = new Intent().setClass(this, WelcomeActivity.class); 
     spec.setContent(i); 
     myTabHost.addTab(spec); 

     // otherwise : 
     Intent j = new Intent().setClass(this, DrugsActivity.class); 
     myTabHost.addTab(myTabHost.newTabSpec("tab_inser").setIndicator("Lista leków",getResources().getDrawable(android.R.drawable.ic_menu_edit)).setContent(j)); 
     Intent k = new Intent().setClass(this, SymptomsActivity.class); 
     myTabHost.addTab(myTabHost.newTabSpec("tab_affiche").setIndicator("Objawy",getResources().getDrawable(android.R.drawable.ic_menu_view)).setContent(k));   

     myTabHost.setCurrentTab(0); 

Но теперь это выглядит, что приложение показать мне все раскладки на одном экране. Они наложены ... Я не знаю, что изменить, потому что я просто начинаю свое приключение с помощью андроида & java. Может ли кто-нибудь мне помочь?

ответ

0

Вы не можете использовать несколько видов деятельности одновременно. Вы можете использовать несколько фрагментов, и каждый фрагмент может иметь свой собственный макет. В вашем случае вы должны иметь:

  • одна активность
  • tabhost внутри этой деятельности
  • один фрагмент для каждой вкладки.
+0

Спасибо за ответ, но я не уверен, что все понимаю - мой английский не очень хорошо. ЗДЕСЬ: http://androidcodeexamples.blogspot.in/2012/08/multiple-android-activities-in.html - пример, который я вдохновлял. Здесь есть другая активность для каждой вкладки. Я просто не использовал ActivityStack.java, но другие мои классы очень похожи. Так почему я не могу использовать что-то подобное в своем приложении? :) Я бы хотел это понять. – user3163355

+0

Код в этом блоге нацелен на Android 2.2 (API 8), который довольно старый. То, что он пытается сделать, теперь делается с помощью фрагментов. Вы также можете использовать фрагменты в API 2.X с библиотекой-совместителем, поэтому лучше всего идти по-новому. – Szymon

+1

Спасибо, сейчас это работает :) – user3163355

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