2012-03-23 53 views
1

我有一個「SubjectTabActivity」,我需要顯示此活動的列表視圖。
但是,當我想實現ListActivity它不顯示listActivity。
我有兩個(addchapter,addsubject)XML文件與「SubjectTabActivity」。我需要
顯示我的數據庫項目列表視圖在各自的XML文件。但我不明白
如何做到這一點?
如何在TabActivity中添加Listactivity ?.
請給我任何參考或代碼。
在此先感謝..
這裏是我的參考代碼。如何在選項卡活動中添加Listview?

public class MasterMainActivity extends TabActivity 
{ 
LayoutInflater layoutInflater = null; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.master); 
    Intent intent=getIntent(); 
    setResult(RESULT_OK, intent); 
     layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     TabHost tabHost = getTabHost(); 


     TabHost.TabSpec tab1spec = tabHost.newTabSpec("tabOneSpec");   
     ImageView imgView = new ImageView(this); 
     imgView.setBackgroundResource(R.drawable.subject); 
     tab1spec.setIndicator("Subject", imgView.getBackground()); 
     tab1spec.setContent(new TabContentLayout()); 

     TabHost.TabSpec tab2spec = tabHost.newTabSpec("tabTwoSpec"); 
     tab2spec.setContent(new TabContentLayout()); 
     ImageView imgView1 = new ImageView(this); 
     imgView1.setBackgroundResource(R.drawable.chapter); 
     tab2spec.setIndicator("Chapter", imgView1.getBackground()); 
     tabHost.addTab(tab1spec); 
     tabHost.addTab(tab2spec);   
     } 
      private class TabContentLayout implements TabHost.TabContentFactory { 
     @Override 
     public View createTabContent(String tag) { 
      View view = null; 
      if(tag.equals("tabOneSpec")) 
      { 
       try 
       { 
        //static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana", 
        // "Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit", 
         //"Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" }; 

        view = (LinearLayout) layoutInflater.inflate(R.layout.subjecttabview, null); 
        //setListAdapter(new ArrayAdapter<String>(this, R.layout.subjecttabview,FRUITS)); 

       } 
       catch(Exception e) 
       { 
        e.printStackTrace(); 
       }     

      } 
      if(tag.equals("tabTwoSpec")) 
      { 
       try 
       { 

        view = (LinearLayout) layoutInflater.inflate(R.layout.chaptertabview, null);  

       } 
       catch(Exception e) 
       { 
        e.printStackTrace(); 
       } 
      }    
      return view; 
     } 
    } 

如何添加ListActivity在此TabActivity

+0

http://stackoverflow.com/questions/4492162/android-listview-inside-tab-layout-inside -dialog -cant-get-scroll-bars-to-show -u引用此鏈接... – Prem 2012-03-23 10:23:11

+0

另請參閱本教程... http://joshclemm.com/blog/?p = 59 – Prem 2012-03-23 10:24:19

+0

儘量不要使用TabActivity,它已棄用 – 2012-03-23 11:06:54

回答

6

很多時候。
然而,事情變得棘手時,這些活動需要 相互作用彼此。

所以解決方案是創建一個享有 (而不是活動)作爲選項卡的內容的tabactivity。 要創建的標籤,有我們需要遵循以下幾個步驟:

  1. 創建tabHost並設置其參數
  2. 創建tabWidget,爲可點擊標籤
  3. 創建的FrameLayout容器,以持有相關聯的每個選項卡
  4. 創建的每個選項卡中的觀點,使用則tabspec類

,看到這些鏈接,會幫助你

http://joshclemm.com/blog/?p=59

http://www.edumobile.org/android/android-beginner-tutorials/tab-control/

http://www.pocketmagic.net/?p=1132

+0

帖子中的第二個鏈接非常有用;) – Joanne 2012-08-06 06:53:16

2

你可以只擡高一個ListView或編程方式創建並把它添加到這似乎是你的根視圖(LinearLayout中)。之後,只需將適配器添加到ListView。

1

採取ListView你的XML佈局中。

然後通過他們的TabActivity內部ID找到它:創建帶有標籤的活動, 可以很容易地對標籤內容的單獨活動時

ListView listView = (ListView) findViewById(R.id.listView1); 
相關問題