Как убедиться, что TabHost ссылается на правильные имена из main.xml, например -› android:id = @android:id/tabs

Я следую руководствам разработчиков Android по макетам вкладок. (я очень новичок в Android) У меня нет ошибок, но когда я запускаю его, я получаю исключение активности, не найденное. ddms спрашивает, добавил ли я активность художников в файл манифеста Android, который у меня есть.

в руководстве — http://developer.android.com/resources/tutorials/views/hello-tabwidget.html он говорит: «Обратите внимание, что элементы TabWidget и FrameLayout имеют идентификаторы вкладок и содержимого вкладок соответственно. Эти имена должны использоваться, чтобы TabHost мог получать ссылки на каждый из них. Он ожидает именно этих имен»

Где я должен указать эти имена точно. Я знаю, что идентификатор должен быть связан, но я не знаю, где это сделать.


person shecodesthings    schedule 26.03.2012    source источник
comment
покажите свой код и логарифм, который будет полезен для ответа.   -  person RajaReddy PolamReddy    schedule 26.03.2012


Ответы (2)


На самом деле я бы порекомендовал вам прекратить следовать этому примеру кода, поскольку он использует старый способ делать то, что вы хотите, с вкладками.

Вместо этого я бы порекомендовал вам начать читать о ViewPager. Я бы начал с чтения http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html

Вы захотите получить библиотеку поддержки/совместимости Android, а также демонстрационные версии поддержки и просмотреть исходный код внутри. В частности, обратите внимание на http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabsPager.html

С FragmentTabsPager вы будете использовать новейшие технологии и получать лучшее из обоих миров: вкладки и горизонтальное смахивание. Google рекомендует использовать фрагменты для подобных интерфейсов. Дополнительные сведения о фрагментах см. на странице http://developer.android.com/guide/topics/fundamentals/fragments.html

person louielouie    schedule 26.03.2012

См.: http://developer.android.com/reference/android/widget/TabHost.TabSpec.html

В приведенном примере используется третий заданный параметр, Intent, который запускает Activity. Я думаю, вы хотите # 1. Итак, вместо

.setContent(intent)

Использовать:

.setContent(R.layout.exact_name)
person sastraxi    schedule 26.03.2012