2011-02-02 80 views
0

在db驅動的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我確實顯示了所有的標籤,但只有第一個標籤顯示了字符串(但是)沒有任何動作posible,開始應用程序。

如果我從Honycomb切換到2.2,它顯示了預期的一切嗎?

另外MyTab有log.d(),從這裏我只發現只有第一次,如果運行在3.0但多次(如預期)在2.2中顯示。

看起來有些事情已經改變(或者我做了一些確定爲2.2但不是在3.0)但到目前爲止我找不到我做錯了什麼。任何想法?

如果我在我的LOGCAT中會有錯誤告訴我會發布這個,但他們似乎沒有在那裏(再次切換到2.2讓這個運行正常,c.getString(2)不僅顯示> x次而且正確地給出了標籤。

問候, RVE

+0

我發現問題在我的情況。事實證明,我的一個Layout xml視圖在2.2中運行得很好,但在3.0中運行得不好。花了一些時間來找到這個,因爲我從來沒有指出過這個錯誤。 – RvE 2011-02-06 20:20:48

回答

0

我在我的案例中發現的問題。原來的我的佈局XML視圖一個有一些東西很好,如果在2.2上運行,但在3.0也不行。花了一些時間找到這個,因爲我從來沒有指出這個錯誤 因此,如果有人遇到類似的問題,試着看看你的佈局xml,看看是否有什麼東西引起不想要的行爲vior在您的應用程序內。