работая на табуляции, управляемой базой данных, я столкнулся с проблемой при попытке перейти на 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 записям, возвращающимся из db. В 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.