2013-12-23 77 views
0

我想存儲類陣列創建多個選項卡類陣列,並希望對避免重複代碼,我的代碼是:如何存儲在Android的

Tab tab = actionBar 
    .newTab() 
    .setText("Tab 1") 
    .setTabListener(
     new TabListener<OverView>(this, "Tab1", OverView.class)); 
    actionBar.addTab(tab); 

    tab = actionBar 
    .newTab() 
    .setText("Tab 2") 
    .setTabListener(
     new TabListener<LifeStyle>(this, "Tab2", 
     LifeStyle.class)); 
    actionBar.addTab(tab); 

    tab = actionBar 
    .newTab() 
    .setText("Tab 3") 
    .setTabListener(
     new TabListener<RealState>(this, "Tab3", 
     RealState.class)); 
    actionBar.addTab(tab); 
  • 編輯

這裏是我的構造

public TabListener(SherlockFragmentActivity activity, String tag, 
      Class<T> clz) { 
     mActivity = activity; 
     mTag = tag; 
     mClass = clz; 
    } 

Im做財產以後現在這個樣子

for (int i = 0; i < classesArr.length; i++) { 

     tab = actionBar 
     .newTab() 
     .setText("Tab 1") 
     .setTabListener(
       new TabListener<classesArr[i]>(this, "Tab1", classesArr[i])); 
actionBar.addTab(tab); 

    } 

但我的編譯器不會編譯代碼

構造MainActivity.TabListener(SherlockFragmentActivity,串類)是指缺少類型classesArr

問:我想存儲,最後的參數類被存儲在數組中,我想運行循環來創建標籤,直到長度。

+0

'Clas s [] arr = new類 [] {Blabla.class,Blabla1.class,...};' – Selvin

回答

0

創建類對象

public static Class<?> classesArr[]={asd.class,cdsc.class}; 

的靜態數組創建這樣一個循環:

for(int i=0;i<calssesArr.length;i++){ 
//here create your tabs 
} 

,如果你想這個類數組共享每一個地方在你的應用程序,然後使用它在靜態方式:

public static Class<?> classesArr[]={asd.class,cdsc.class}; 

要麼你可以使用它作爲最終如果你有要求靜態數量的類S:

public final Class<?> classesArr[]={asd.class,cdsc.class}; 

此外,如果你想通過它的ArrayList,那麼你可以使用它作爲:

ArrayList<Class> classArr=new ArrayList<Class>(); 

classArr.add(yourClass.class); 

,然後循環播放:

for(Class<?> cls:classArr){ 
    //here create your tabs using cls 
    } 
+0

構造函數MainActivity.TabListener (SherlockFragmentActivity,String,Class )引用到缺少的類型Arr –

+0

好的,我會試試看。 –

0
private final Class<?>[] classArray = new Class<?>[]{OverView.class, LifeStyle.class, RealState.class}; 

這樣呢?

0
ArrayList<Class> modelDataList = new ArrayList<Class>(); 
    modelDataList.add(AndroidDatePicker.class); 

這是怎麼了你可以添加課程並在任何你想要的地方使用它們