ViewPager+Activity

来源:互联网 发布:$.each json 编辑:程序博客网 时间:2024/06/16 13:53

做出的效果是QQ好友分组+ListView分组







实现代码如下:

有三个XML文件:

<ExpandableListView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/res_layout_ExpandableListView"        ></ExpandableListView>

<ListView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/res_layout_list"        ></ListView>

<android.support.v4.view.ViewPager    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/res_main_ViewPager"    >   </android.support.v4.view.ViewPager>

三个Java文件:
public class activity_ViewPage3 extends AppCompatActivity {    private ViewPager res_main_viewPager;    private List<View> list=new ArrayList<>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_view_page3);        res_main_viewPager = (ViewPager) findViewById(R.id.res_main_ViewPager);        LocalActivityManager lam=new LocalActivityManager(this,true);        lam.dispatchCreate(savedInstanceState);        Intent it1=new Intent(this,MainActivty2.class);        list.add(lam.startActivity("1",it1).getDecorView());        Intent it2=new Intent(this,MainActivty3.class);        list.add(lam.startActivity("1",it2).getDecorView());        res_main_viewPager.setAdapter(new MyAdapter());    }    class MyAdapter extends PagerAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public boolean isViewFromObject(View view, Object object) {            return view==object;        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            View view = list.get(position);            container.addView(view);            return view;        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            // super.destroyItem(container, position, object);            View v= list.get(position);            container.removeView(v);        }    }

public class MainActivty2 extends Activity {    private ListView res_layout_list;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activty3_mian);        res_layout_list = (ListView) findViewById(R.id.res_layout_list);        String[] list= new String[10];        for (int i = 0; i <list.length ; i++) {            list[i]="尹"+i+"样";        }        my m=new my<String>(this,android.R.layout.simple_list_item_1,list,new String[]{"浩0","浩4","浩7"});        res_layout_list.setAdapter(m);    }    class my<T> extends ArrayAdapter {        private List<T> object=new ArrayList<>();        private List<T> pam=new ArrayList<>();        public my(@NonNull Context context, @LayoutRes int resource,Object[] object,Object[] pam) {            super(context, resource,object);            for (int i = 0; i <object.length ; i++) {                this.object.add((T) object[i]);            }            for (int i = 0; i <pam.length ; i++) {                this.pam.add((T) pam[i]);            }        }        @Override        public boolean isEnabled(int position) {            if(pam.contains(object.get(position))){                return false;            }            return super.isEnabled(position);        }    }


public class MainActivty3 extends Activity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activty4_main);        ExpandableListView  res_layout_ExpandableListView= (ExpandableListView) findViewById(R.id.res_layout_ExpandableListView);        List<Map<String,Object>> list=new ArrayList<>();        List<List<Map<String,Object>>> l=new ArrayList<>();        for (int i = 0; i <4 ; i++) {            Map<String,Object> map=new HashMap<>();            map.put("text","组名:"+i);            list.add(map);            List<Map<String,Object>> ll=new ArrayList<>();            for (int j = 0; j <5 ; j++) {                Map<String,Object> map2=new HashMap<>();                map2.put("text2",i+"组第"+j+"个");                ll.add(map2);            }            l.add(ll);        }        SimpleExpandableListAdapter sel=new SimpleExpandableListAdapter(this,list,android.R.layout.simple_list_item_1,new String[]{"text"},                new int[]{android.R.id.text1},l,android.R.layout.simple_list_item_1,new String[]{"text2"},new int[]{android.R.id.text1});        res_layout_ExpandableListView.setAdapter(sel);    }








原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 住的房间有臭虫怎么办 租的房子有臭虫怎么办 瑜伽垫放地上脏怎么办 瑜伽垫和地面滑怎么办 练瑜伽时瑜伽垫全是汗水怎么办 车钥匙放洗衣机洗了怎么办 瑜伽垫边上掉渣怎么办 晚上睡地上后背不舒服怎么办 小孩子天天晚上看电视不睡觉怎么办 宝宝天天晚上不睡觉怎么办 老公天天晚上不睡觉怎么办 小孩天天晚上不睡觉怎么办 摸了貔貅的眼睛怎么办 买的爬行垫滑怎么办 买了爬行垫有毒怎么办 xpe爬行垫破了怎么办 做瑜伽时平衡不好怎么办 鼻翼两侧发红长痘怎么办 孕后期睡觉背疼怎么办 练了瑜伽后腰痛怎么办 尿路口长疮疼痛怎么办 来月经吃了辣的怎么办 泳衣打湿后特别难脱怎么办 脚臭怎么办教你除臭方法 袜子没干就穿了进湿气怎么办 狗喜欢往床上跑怎么办 泰迪在床上睡觉怎么办 泰迪睡觉换地方怎么办 猫一定要和人睡怎么办 狗喜欢跳到床上怎么办 幼猫晚上不睡觉怎么办 宝宝不在床上睡觉怎么办呢 瑜伽球表面粘了怎么办 鞋子洗了很臭怎么办 在社区开瑜伽馆怎么办 腿被开水烫伤了怎么办 狗狗的腿脱臼了怎么办 手火辣辣的烧疼怎么办 网贷收到告知函怎么办 收到捷信催收律师函怎么办 快钱贷款不还怎么办