2012-06-20 34 views
0

在我的應用程序中,有一個Activity包含很多Views(editText-fields,...)。因爲屏幕太小而不適合所有的視圖。因此,我想使用一個ExpandableList,其中包含所有視圖語義分組(作爲佈局)以列出項目。帶有靜態項目/無適配器的Android ExpandableList

有沒有簡單的方法來完成這件事?實現適配器似乎有點複雜,因爲列表應該只包含「靜態」視圖。

像這樣的事情將是很好:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ExpandableListView lv = (ExpandableListView) findViewById(R.id.explist); 
    lv.addItem(findViewById(R.id.linearlayoutitemone); 
    lv.addItem(findViewById(R.id.linearlayoutitemtwo); 
    EditText et = (EditText) lv.getItem(1).findViewById(R.id.etBirthdate); 
    et.setText("01.01.1970"); 
    (....) 
} 
+1

使用適配器實際上更容易,如果你不這樣做,你最終可能會寫出相同的代碼,這些代碼將寫入適配器+一些額外內容(如for循環)。只需找到一個適用於自定義適配器的好模板,然後改變你所需的模板。 – vikki

回答

0

我已經寫了一個擴展BaseExpandableListAdapter的適配器。在適配器中,我保持佈局的實例顯示爲類變量 - 不是有關性能的最佳解決方案,而是一種便捷的解決方案。由於只顯示固定短數量的項目,所以性能問題不會有太大影響。

0

要映射靜態數據可以使用SimpleExpandableListAdapter。 API演示有an example of how to use it

+0

SimpleExpandableListAdapter只接受數據(如字符串,可以放入TextView的任何東西)以顯示。我想要顯示完整的佈局,包括EditTexts,RadioButtons等等。 –

+0

@ user1437307然後你必須擴展'BaseExpandableListAdapter'。這並不難,儘管如果你以前沒有做過,它可能看起來很嚇人。 –

相關問題