// 佈局
if (lvTWOPostion!=0) {
}
relativeLayout3.setVisibility(View.VISIBLE);
final UnMoveListView lv1 = (UnMoveListView) view
.findViewById(R.id.merchant_pop_lv1);
lv1.setItemsCanFocus(false);
final UnMoveListView lv2 = (UnMoveListView) view
.findViewById(R.id.merchant_pop_lv2);
lv2.setItemsCanFocus(false);
final ArrayList<MerchantPopupType> types = new ArrayList<MerchantPopupType>();//一級數據
//一級實體
MerchantPopupType merchantType = new MerchantPopupType();
//一級實體添加
merchantType.setName("全部分類");
//二級實體
MerchantPopupType.SecondType secType = merchantType.new SecondType();
//耳機實體子菜單
secType.setSecName("全部分類");
//二級添加到2及
merchantType.getSecTypes().add(secType);
types.add(merchantType);
/**
* 美食一級分類
*/
merchantType = new MerchantPopupType();
merchantType.setName("美食");
/**
* 美食二級分類
*/
secType = merchantType.new SecondType();
secType.setSecName("全部美食");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("本江浙菜");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("湘菜");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("粵菜");
merchantType.getSecTypes().add(secType);
types.add(merchantType);
/**
* 購物一級分類
*/
merchantType = new MerchantPopupType();
merchantType.setName("購物");
/**
* 購物二級分類
*/
secType = merchantType.new SecondType();
secType.setSecName("全部購物");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("服飾鞋包");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("化妝品");
merchantType.getSecTypes().add(secType);
types.add(merchantType);
merchantType = new MerchantPopupType();
merchantType.setName("休閒娛樂");
secType = merchantType.new SecondType();
secType.setSecName("全部娛樂");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("咖啡廳");
merchantType.getSecTypes().add(secType);
secType = merchantType.new SecondType();
secType.setSecName("酒吧");
merchantType.getSecTypes().add(secType);
types.add(merchantType);
ArrayList<Map<String, Object>> firList = new ArrayList<Map<String, Object>>();
String[] lv1Array =new String[]{"全部分類","美食","休閒","娛樂","購物"} ;
for (int i = 0; i < lv1Array.length; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", lv1Array[i]);
firList.add(map);
}
final ArrayList<Map<String, Object>> secList2 = new ArrayList<Map<String, Object>>();
for (int i = 0; i < types.size(); i++) {
MerchantPopupType merchantType2 = types.get(i);
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", merchantType2.getName());
firList.add(map);
}
final MySimpleAdapter firAdapter = new MySimpleAdapter(mActivity,
firList, R.layout.merchant_popup_type_item,
new String[] { "name" }, new int[] { R.id.orderchild },
new AdapterListener() {
@Override
public void addListener(int position, View convertView,
Object... objects) {
if (lvPostion == position) {
LinearLayout line_popwin = (LinearLayout) convertView
.findViewById(R.id.line_popwin);
line_popwin
.setBackgroundResource(R.color.litghtbule);
} else {
convertView.setBackgroundColor(0);
}
}
});
lv1.setAdapter(firAdapter);
lv1.setOnItemClickListener(new OnItemClickListener() {
TextView line_popwin;
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
lvPostion = arg2;
firAdapter.notifyDataSetChanged();
ArrayList<Map<String, Object>> secList = new ArrayList<Map<String, Object>>();
MerchantPopupType type = types.get(arg2);
for (int j = 0; j < type.getSecTypes().size(); j++) {
MerchantPopupType.SecondType secType2 = type.getSecTypes()
.get(j);
Map<String, Object> map = new HashMap<String, Object>();
map.put("name2", secType2.getSecName());
secList.add(map);
}
MySimpleAdapter secAdapter = new MySimpleAdapter(mActivity,
secList, R.layout.merchant_popup_type_item,
new String[] { "name2" }, new int[] { R.id.orderchild },
new AdapterListener() {
@Override
public void addListener(int position, View convertView, Object... objects) {
}
});
lv2.setAdapter(secAdapter);
}
});
final MySimpleAdapter secAdapter = new MySimpleAdapter(mActivity,
firList, R.layout.merchant_popup_type_item,
new String[] { "name2" }, new int[] { R.id.orderchild },
new AdapterListener() {
@Override
public void addListener(int position, View convertView,
Object... objects) {
if (lvTWOPostion == position){
TextView line_popwin = (TextView) convertView
.findViewById(R.id.orderchild);
line_popwin
.setTextColor(Color.BLUE);
System.out.println("變色");
} else {
convertView.setBackgroundColor(0);
}
}
});
// 2層
lv2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
lvTWOPostion = arg2;
secAdapter.notifyDataSetChanged();
String typeString = lv2.getItemAtPosition(arg2).toString();
String typeselet = typeString.substring(7,
typeString.length() - 1);
typeButton.setText(typeselet);
relativeLayout3.setVisibility(View.GONE);
typeButton.setTextColor(Color.BLACK);
merchantsListView.setEnabled(true);
typeButton.setBackgroundResource(R.drawable.selector_spinner03);
CHOICENUM=0;
}
});
}
轉載自:http://www.eoeandroid.com/thread-230963-1-1.html