您應該創建一個自定義用戶界面組件,包含您希望列表項包含的所有內容。
然後在MyUIComponent.java類的構造函數中將此項目與任何需要註冊的偵聽器一起充氣。
使用ListAdapter將存儲在數組/列表中的所有這些UI組件指向ListView。
這就是我在2.2中做到的。工作很棒!
讓我知道你是否需要代碼。
編輯:
自定義列表適配器:
public class CatalogItemAdapter extends ArrayAdapter<Product> //
{
private ArrayList<Product> products;
private Activity activity;
public CatalogItemAdapter(Context context, int textViewResourceId,
ArrayList<Product> items, Activity activity) //
{
super(context, textViewResourceId, items);
this.products = items;
this.activity = activity;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) //
{
Product product = products.get(position);
if (convertView == null) //
{
LayoutInflater vi = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.catalog_item_stub, null, false);
//this is the layout resource for each item
}
TextView priceView = (TextView) convertView
.findViewById(R.id.ProductPrice);
TextView titleView = (TextView) convertView
.findViewById(R.id.ProductTitle);
priceView.setText(price);
titleView.setText(product.DisplayName);
return convertView;
}
}
在你的活動:
調用此設置你的列表:
protected void setupUIElements(Activity activity) //
{
listView = (ListView) activity.findViewById(R.id.CatalogProducts);
m_adapter = new CatalogItemAdapter(activity,
R.layout.catalog_item_stub, products, activity);
listView.setAdapter(m_adapter);
}
調用此來填充ListView控件項目:
void fillListView(final ProductResponse response) //
{
for (Product p : response.Products) //
{
products.add(p);
}
progDialog.dismiss();
m_adapter.notifyDataSetChanged();
}
你能澄清一下你想做什麼嗎? – slayton
檢查我的編輯以上 –