簡體   English   中英

如何在Android中在其中添加動態標簽和動態擴展列表視圖?

[英]How to add dynamic tabs and dynamic expandable list view inside it in Android?

我只想根據可用的數字類別動態創建標簽。 在每個標簽內,我需要在每個標簽內動態創建許多可擴展列表視圖。 (例如:說我有四個類別,例如教育,體育,科學,航空航天),那么我需要在運行時創建四個選項卡,它將根據我所獲得的數字類別(一個或二十個或更多)而變化。

在每個標簽內,我需要(動態)創建多個可擴展列表視圖。

經過大量研究,我發現了一些相關鏈接( 此處此處此處以及更多)。 我寧願使用我不知道的適當而有效的方法。

你需要這樣考慮

TAB2 = TAB3 = TAB1 =碎片化----在這種情況下,您可以執行可擴展列表視圖,該列表視圖將在布局本身中定義,但需要使用TAB的引用來更新可擴展列表視圖。

對於動態Tabview,您可以這樣操作:您應該通過指定

View的ID或創建View內容的TabHost.TabContentFactory。

將您的代碼更改為以下之一:

for (int i=1; i<=n; i++){
   final String tabName = "tab" + Integer.toString(i);
   final TabSpec ourSpec = th.newTabSpec(tabName);
   ourSpec.setContent(new TabHost.TabContentFactory() { 
      public View createTabContent(String tag) { 
          TextView text = new TextView(NewTicket.this);
          String tabText = tabName;
          text.setText("You've created a new tab " + tabText); 
          return (text);
      }
   });
   ourSpec.setIndicator(tabName);
   tabhost.addTab(ourSpec);
  }

or

 for (int i=1; i<=n; i++){
   final String tabName = "tab" + Integer.toString(i);
   final TabSpec ourSpec = th.newTabSpec(tabName);
   ourSpec.setContent(R.id.llItemList);   
   ourSpec.setIndicator(tabName);
    tabhost.addTab(ourSpec);
  }

要保留您的注釋中提到的ListView的相同實例,請執行以下操作:

注冊TabHost.OnTabChangeListener當選項卡更改時,應首先在ListView的當前父級上調用removeView(),然后將其添加到新的父級上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM