java list布局_java – 使用2种不同的布局重用Android Listvi...
我已經了解到,為了最大限度地提高Android列表視圖的效率,您應該只需要盡可能多的充滿“行”視圖,以適應屏幕.一旦視圖移出屏幕,您應該在getView方法中重用它,檢查convertView是否為null.
但是,當您需要2個不同的列表布局時,如何實現這個想法?讓我們說它的訂單列表和1個布局是針對已完成的訂單而另一個布局是針對流程訂單.
這是我的代碼使用的想法的示例教程.就我而言,我將有兩行布局:R.layout.listview_item_product_complete和R.layout.listview_item_product_inprocess
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
if(getItemViewType(position) == COMPLETE_TYPE_INDEX) {
convertView = mInflator.inflate(R.layout.listview_item_product_complete, null);
holder.mNameTextView = (TextView) convertView.findViewById(R.list.text_complete);
holder.mImgImageView = (ImageView) convertView.findViewById(R.list.img_complete);
}
else { // must be INPROCESS_TYPE_INDEX
convertView = mInflator.inflate(R.layout.listview_item_product_inprocess, null);
holder.mNameTextView = (TextView) convertView.findViewById(R.list.text_inprocess);
holder.mImgImageView = (ImageView) convertView.findViewById(R.list.img_inprocess);
}
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
thisOrder = (Order) myOrders.getOrderList().get(position);
// If using different views for each type, use an if statement to test for type, like above
holder.mNameTextView.setText(thisOrder.getNameValue());
holder.mImgImageView.setImageResource(thisOrder.getIconValue());
return convertView;
}
public static class ViewHolder {
public TextView mNameTextView;
public ImageView mImgImageView;
}
總結
以上是生活随笔為你收集整理的java list布局_java – 使用2种不同的布局重用Android Listvi...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java不看答案不会_Java新手必备:
- 下一篇: 怎么进bios重装系统u盘启动不了系统