android ExpandableListView伸缩列表
?3.每个一级item下的二级信息布局shop_product_attr_layout.xml
?布局文件中用到的 style="@style/TextStyle3":
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.zline.app.entity.Product;import com.zline.app.entity.ProductAttr;import com.zline.app.myclass.shop.ExpandableAdapter;import com.zline.app.myclass.shop.GalleryAdapter;import android.os.Bundle;import android.view.Window;import android.widget.ExpandableListView;import android.widget.Gallery;import android.widget.ImageView;import android.widget.ListView;import android.widget.RatingBar;import android.widget.RatingBar.OnRatingBarChangeListener;import android.widget.TextView;import android.widget.Toast;import android.app.Activity;@SuppressWarnings("deprecation")public class ShopInfoActivity extends Activity {List<Product> products;Map<Integer, List<ProductAttr>> productAttrs;ExpandableListView expandableListView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.shop_info_layout); createProduct(); createAttr(); initView(); } //初始化各个组件 private void initView(){ expandableListView = (ExpandableListView) findViewById(R.id.shop_tests); ExpandableAdapter expandableAdapter = new ExpandableAdapter(this, products, productAttrs); expandableListView.setAdapter(expandableAdapter); } private List<Map<String, Object>> createAttrs(){ attrList = new ArrayList<Map<String,Object>>(); for(int i=0;i<2;i++){ Map<String, Object> m = new HashMap<String, Object>(); m.put(ConstantDef.PRODUTC_ATTR_ONE, "规格:半只"); m.put(ConstantDef.PRODUCT_ATTR_TWO, "口味:纯香"); m.put(ConstantDef.PRODUCT_ATTR_PRICE, 38.0); attrList.add(m); } return attrList; }*/ private List<Product> createProduct(){ products = new ArrayList<Product>(); for(int i=0;i<4;i++){ Product p = new Product(); p.setPriceRange("29-32"); p.setProductName("港式叉烧饭"); p.setProductId(i+1); products.add(p); } return products; } private Map<Integer, List<ProductAttr>> createAttr(){ productAttrs = new HashMap<Integer, List<ProductAttr>>(); // List<ProductAttr> for(Product p:products){ List<ProductAttr> attrs = productAttrs.get(p.getProductId()); if(attrs == null){ attrs = new ArrayList<ProductAttr>(); ProductAttr attr = new ProductAttr(); attr.setDictOne("规格:半只"); attr.setDictTwo("风味:纯香"); attr.setPrice(28); attr.setProductId(p.getProductId()); attr.setAttrId(products.indexOf(p)); attrs.add(attr); attrs.add(attr); productAttrs.put(p.getProductId(), attrs); }else{ ProductAttr attr = new ProductAttr(); attr.setDictOne("规格:半只"); attr.setDictTwo("风味:纯香"); attr.setPrice(28); attr.setProductId(p.getProductId()); attr.setAttrId(products.indexOf(p)); attrs.add(attr); attrs.add(attr); productAttrs.put(p.getProductId(), attrs); } } return productAttrs; }?效果看附件。
参考文献:http://blog.csdn.net/luck_apple/article/details/6742018
http://wenku.baidu.com/view/f6ec17265901020207409c36.html
http://blog.csdn.net/jianghuiquan/article/details/8350550