2015-11-26 147 views
0

在我的應用程序中,我有一個ListActivity。在此活動中,我需要顯示操作列表(例如,Action1,Action2,Action3,Action4)。在意圖調用這個listActivity,我傳遞布爾值(標誌)。如果標誌爲真,我需要顯示所有操作。否則我只需要顯示Action1和Action2。 我看到2種方法來做到這一點: 1)創建兩個字符串數組(稱之爲actions_1和actions_2)的資源文件,並覆蓋在onStart()方法對我ListActivity這樣的:Android ListView適配器性能

String[] action_list; 
@Override 
protected void onStart() { 
    super.onStart();  
    Intent intent = getIntent(); 
    boolean flag = intent.getBooleanExtra("isPayable", false); 
    if (flag) 
     action_list = getResources().getStringArray(R.array.actions_1); 
    else 
     action_list = getResources().getStringArray(R.array.actions_2); 
    mAdapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, action_list); 
    setListAdapter(mAdapter); 
} 

2)創建爲我的ListView定製適配器,並在getView()方法中隱藏項目設置layout_height = 0dp。 什麼方式更好的性能?也許,還有另一種更好的方法?

回答

0

我不認爲你會注意到一個正常的應用程序中的「性能改進」,除非你顯示數千項目的列表(並且正如你所說你只有4個項目?)。在任何情況下,我都會使用選項1),因爲只需檢查一次標誌,如果將邏輯放入需要檢查永不會顯示的項目的自定義適配器內,則將其與「N」進行比較。

+0

謝謝你的回答! – user3533397