Data接口
public interface Data {
String[][][] itemCategory =
{{{"全部分类"},{"今日新单"},{"美食"},{"酒店"},{"休闲娱乐"},{"生活服务"},{"丽人"},{"旅游"},{"购物"},{"抽奖"}}
,{{"全部","火锅","自助餐","西餐","日韩料理","蛋糕甜点","烧烤烤鱼","川湘菜","江浙菜","粤菜"},
{"全部","经济型酒店","豪华酒店"},
{"全部","电影","KTV","温泉","洗浴","足疗","运动","滑雪","电玩"},
{"全部","亲子","摄影","保健","汽车服务","照片冲洗","培训","鲜花婚庆","服饰","配镜"},
{"全部","美发","美甲","美容SPA","瑜伽"}
,{"全部","本地游","景点门票","境外游"},
{"全部","服装","家居","食品","箱包","母婴","个护化妆","数码家电","钟表首饰","其他购物"},
{"全部","美梦成真"}}};
}
主类:
package com.example.twolistviewdemo;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class FirstActivity extends Activity {
private ImageView tabImg1,tabImg2;
private ListView categoryClass,categoryClassSub;
private LinearLayout goneLl;
private boolean isChecked;
private boolean classIsChecked,sortIsChecked;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_first);
context =getApplication();
showAllCategorySort();
}
/*
* 全部分类点击事件
*/
public void showAllCategorySort(){
LinearLayout ll = (LinearLayout)findViewById(R.id.tab1);
tabImg1 =(ImageView)findViewById(R.id.class_whole_img);
tabImg2 =(ImageView)findViewById(R.id.class_whole_img_green);
categoryClass =(ListView)findViewById(R.id.catagery_class);
categoryClassSub=(ListView)findViewById(R.id.catagery_class_sub);
goneLl = (LinearLayout)findViewById(R.id.gone_ll);
ll.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(isChecked==false){
tabImg1.setVisibility(View.GONE);
goneLl.setVisibility(View.VISIBLE);
tabImg2.setVisibility(View.VISIBLE);
categoryClassSub.setVisibility(View.GONE);
showCategorySort();
isChecked=true;
classIsChecked=true;
}else{
tabImg1.setVisibility(View.VISIBLE);
tabImg2.setVisibility(View.GONE);
goneLl.setVisibility(View.GONE);
isChecked = false;
classIsChecked=false;
}
}
});
}
/*
* 显示分类子类内容
*/
public void showCategorySortSub(int position){
categoryClassSub=(ListView)findViewById(R.id.catagery_class_sub);
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
int sn =Data.itemCategory[1][position-2].length;
for(int s1 =0;s1<sn;s1++){
String sn2 =Data.itemCategory[1][position-2][s1];
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("sortName", sn2);
listItem.add(map);
}
SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,R.layout.item_sort_two
,new String[]{"sortName"},new int[]{R.id.item_sort_sub});
categoryClassSub.setAdapter(listItemAdapter);
categoryClassSub.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long row) {
Toast.makeText(context, "本数据未载入", Toast.LENGTH_SHORT).show();
}
});
}
/*
* 显示全部分类的内容
*/
public void showCategorySort(){
categoryClass = (ListView)findViewById(R.id.catagery_class);
categoryClassSub=(ListView)findViewById(R.id.catagery_class_sub);
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<10;i++)
{ String s = Data.itemCategory[0][i][0];
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("sortName", s);
listItem.add(map);
}
SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,R.layout.item_sort
,new String[]{"sortName"},new int[]{R.id.item_sort});
categoryClass.setAdapter(listItemAdapter);
categoryClass.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long row) {
sortIsChecked = true;
if(classIsChecked==true&&sortIsChecked==true){
categoryClassSub.setVisibility(View.VISIBLE);
if(position==0||position==1){
Toast.makeText(context, "请忽视这一项前两项", Toast.LENGTH_SHORT).show();
}else{
showCategorySortSub(position);
}
}else{
categoryClassSub.setVisibility(View.GONE);
}
}
});
}
}