您的位置:首页 > 移动开发 > Android开发

Android 二级菜单

2013-06-26 19:14 393 查看
private void showPop(View v) {

// 布局

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: