TabHost проблемы с переездом в Honycomb
Работая на управляемом БД tabhost, я сталкиваюсь с проблемой при попытке перейти на Honycomb.
У меня есть что-то вроде этого:
Cursor c = db.getAll();
if ( c.moveToFirst() ) {
do {
// Log tab name
Log.d("(Honycomb)", "TabSpec : " + c.getString(2));
// Set new tabspec ID
TabSpec Tab = tabHost.newTabSpec( "tid" + c.getString(1) ) ;
if( c.getString(2).equals("abc")) {
Tab.setIndicator( c.getString(2), context.getResources().getDrawable(R.anim.icon1) ) ;
} else if( c.getString(2).equals("bcd")) {
Tab.setIndicator( c.getString(2), context.getResources().getDrawable(R.anim.icon2) ) ;
}
Intent intent = new Intent() ;
intent.putExtra( "CATORDER", c.getString(1) );
intent.setClass(context, Mytab.class) ;
Tab.setContent( intent ) ;
tabHost.addTab(Tab) ;
} while ( c.moveToNext() ) ;
} else {
Toast.makeText(context, "There is nothing available.",
Toast.LENGTH_LONG).show();
}
tabHost.setOnTabChangedListener(OnTabChangeListener);
tabHost.getTabWidget().setCurrentTab(0);
В результате db.getAll()> 2 записи возвращаются из базы данных. В LOGCAT c.getString(2) виден> 2 раза - значения, как и ожидалось, однако, глядя на tabHost на экране, я получаю все вкладки, показанные НО только первая вкладка, отображаемая со строкой (но), без каких-либо возможных действий и после некоторого времени возврата для начала приложения.
Если я переключаюсь с Honycomb на 2.2, он показывает все ожидаемое?
Кроме того, MyTab имеет log.d(), и из этого я нахожу отображение только из этого только в первый раз, если работает в 3.0, но несколько раз (как и ожидалось) в 2.2.
Похоже, что-то изменилось (или я сделал что-то хорошо для 2.2, но не в 3.0), но до сих пор я не мог найти то, что я сделал неправильно. Любая идея?
Если бы у меня были ошибки в моем LOGCAT, говорящие что-то, я бы также опубликовал это, но их, похоже, не было (снова переключение на 2.2, пусть это работает нормально, и c.getString (2) не только показывается> x раз, но также дает вкладки правильно.
С уважением, RvE
1 ответ
Я нашел проблему в моем случае. Оказалось, что у одного из моих представлений Layout xml было что-то хорошее, если оно работало в 2.2, но не в 3.0. Потребовалось время, чтобы найти это, потому что у меня никогда не было ошибок, указывающих на это вообще. Поэтому, если у вас возникли проблемы с симуляцией, попробуйте взглянуть на ваш макет XML, чтобы увидеть, есть ли что-то, вызывающее нежелательное поведение внутри вашего приложения.