Мне нужно создать весь пользовательский интерфейс программно "по требованию", это означает, что я не могу использовать любой XML. Это псевдокод того, что я делаю:
View v = new MyView();
activity.setContentView(v);
tabHost = new TabHost();
....
tabHost.setup();
TabSpec tabSpec = _tabHost.newTabSpec(page);
tabSpec.setIndicator(title);
tabSpec.setContent((TabContentFactory) this);
activity.setContentView(tabHost);
поэтому, когда вызывается TabContentFactory, я возвращаю представление, которое является представлением содержимого текущего действия. По сути, я беру текущий вид и помещаю его в tabhost.
Это наполовину работает, когда я делаю это, я могу видеть панель вкладок, но только черный вид под ней, если я нажимаю на другую вкладку, а затем нажимаю назад, тогда я могу видеть представление, все работает как задумано.
Теперь, почему я думаю, что это связано с setContentView
, потому что, когда я делаю это:
View v = new MyView();
// activity.setContentView(v); // we don't use it as current content view
tabHost = new TabHost();
....
tabHost.setup();
TabSpec tabSpec = _tabHost.newTabSpec(page);
tabSpec.setIndicator(title);
tabSpec.setContent((TabContentFactory) this);
Тогда все работает отлично.
Любая помощь приветствуется, спасибо!