2011-05-14 13 views
0

我得到的錯誤:我如何設置一個以編程方式創建的視圖到選項卡?

05-14 15:06:13.124: ERROR/AndroidRuntime(2218): Caused by: java.lang.RuntimeException: Could not create tab content because could not find view with id 123

我爲什麼不能做這樣的事情?我錯過了什麼?下面是代碼,基本上是RSSview是用表格佈局和RSS處理器(編程建)

final BrRSSView newsView = new BrRSSView(currentActivity,rss); 
    newsView.setId(123); 

    tabHost.addTab(
      tabHost.newTabSpec("tab1") 
      .setIndicator("Nyheter", getResources().getDrawable(R.drawable.icons_tab_nyheter)) 
      .setContent(123)); 

回答

1

我認爲問題是,TabHost只查找視圖id tabcontent視圖擴展滾動視圖。如果您仍想通過代碼執行此操作,則可以將視圖添加到tabcontent視圖,然後運行addTab()方法。

+0

啊,好吧,這是有道理的,但我不知道該怎麼做。有一個名爲view1的XML視圖被分配到選項卡1,但如果我嘗試執行,它會崩潰: ((ScrollView)findViewById(R.id.view1))。addView(newsView); – 2011-05-14 14:49:08

+0

問題,爲什麼不直接在選項卡的XML中聲明BrRSSView?這會爲你節省很多頭痛。另外,我應該注意,無論你傳遞給'TabSpec'的'setContent()'都必須是'tabcontent'視圖的一個* direct child *。 – dmon 2011-05-14 15:58:58

+0

它必須是動態的,因爲它是用於內部工具包的。加上它可能並不總是用在標籤.. – 2011-05-14 17:24:28

相關問題