有沒有辦法獲得視圖充氣的佈局的資源ID(如R.layout.viewtoInflate)?獲取視圖充氣的資源ID
我想實現列表視圖,使用2個自定義佈局的列表項。使用哪個項目佈局基於用於填充列表視圖的對象中的字段。
我在自定義適配器中缺少的東西是一種知道我在getView()中獲得的'convertView'的資源膨脹的方法。如果我能得到這些信息,我可以比較並確定是否可以重新使用轉換視圖,或者如果必須將其替換爲當前項目的適當佈局。
因此,理想情況下是這樣的:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
JSONObject currItem = mItems.getJSONObject(position);
int layoutType;
if (currItem.getBoolean("alternate"))
layoutType = R.layout.list_item_b;
else
layoutType = R.layout.list_item_a;
if (convertView == null || <convertView.resourceID> != layoutType) {
convertView = inflater.inflate(layoutType, null);
//Finish setting up new View and its holder
}
else {
//Get view holder for view reuse
}
//populate view with the required content
return convertView;
}
在最壞的情況我能不能再利用的觀點,在所有和公正的膨脹,我需要每一次佈局,但它似乎很浪費。
我不明白我是如何錯過這種多佈局功能,但謝謝。另外,感謝您提供尋找佈局類型的建議,現在不再需要,但無論如何都很好。不過,對我來說,看起來很奇怪,沒有官方的方式來獲得充氣視圖的佈局。 – RobertoCuba 2013-04-09 18:10:02