У меня вопрос по поводу обратной совместимости Honeycomb. У меня есть приложение, которое поддерживает 2.1 или выше и, кажется, в основном работает на Honeycomb, кроме случаев, когда они запускают TabActivity.
В частности, когда я добавляю вкладки в TabHost, я получаю следующее исключение
android.content.res.Resources $ NotFoundException: идентификатор ресурса # 0x0
Глядя на код, который выдает это исключение, я вижу, что это спецификация вкладки, которая имеет метку и значок. Внутри кода в LabelAndIconIndicatorStrategy пытается раздуть файл макета R.layout.tab_indicator, который, по-видимому, недоступен.
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(_gameActivity, ScoreGameActivity.class);
intent.putExtra(GameChangerConstants.STREAM_ID, _stream.pk().toString());
// Initialize a TabSpec for each tab and add it to the TabHost
spec = _gameTabHost.newTabSpec("score_game").setIndicator("Score", res.getDrawable(R.drawable.icon_field_gloss)).setContent(intent);
_gameTabHost.addTab(spec);
Есть ли новый способ создания вкладок для сот, о котором я не знаю? Я пролил документацию, но не увидел ничего, что указывало бы на проблему с тем, что я сделал.
Я бы хотел избегать использования фрагментов на этом этапе, пока мы не сможем выполнить более полную реструктуризацию наших виджетов пользовательского интерфейса, и я бы хотел лучше понять эту проблему.