Проблемы TabHost с переходом на Honycomb

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


person RvE    schedule 02.02.2011    source источник
comment
Я нашел проблему в моем случае. Оказалось, что в одном из моих представлений Layout xml было что-то нормальное, если оно работало в 2.2, но не в 3.0. Потребовалось некоторое время, чтобы найти это, потому что у меня никогда не было ошибок, указывающих на это вообще.   -  person RvE    schedule 06.02.2011


Ответы (1)


Я нашел проблему в моем случае. Оказалось, что в одном из моих представлений Layout xml было что-то нормальное, если оно работало в 2.2, но не в 3.0. Потребовалось некоторое время, чтобы найти это, потому что у меня никогда не было ошибок, указывающих на это вообще. Итак, если у кого-то возникают похожие проблемы, попробуйте посмотреть XML-файл вашего макета, чтобы увидеть, есть ли что-то, вызывающее нежелательное поведение внутри вашего приложения.

person RvE    schedule 06.02.2011