TabLayout

来源:互联网 发布:mysql 组合索引 顺序 编辑:程序博客网 时间:2024/06/05 19:01
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <android.support.design.widget.TabLayout        android:id="@+id/tab"        app:tabGravity="center"        app:tabIndicatorColor="@color/colorAccent"        app:tabMode="scrollable"        app:tabSelectedTextColor="@color/colorPrimaryDark"        app:tabTextColor="@color/colorPrimary"        android:layout_width="match_parent"        android:layout_height="40dp" />    <android.support.v4.view.ViewPager        android:id="@+id/pv"        android:layout_width="match_parent"        android:layout_height="match_parent"></android.support.v4.view.ViewPager>
//数据
  List<String> list = new ArrayList<>();  list.add("推荐");  list.add("社会");  list.add("国内");  list.add("国际");  list.add("娱乐");  list.add("体育");  list.add("军事");  list.add("科技");  list.add("财经");  list.add("时尚");  for (int i = 0; i< list.size(); i++){      tab.addTab(tab.newTab().setText( list.get(i)));  }    FraGment1 fn=new FraGment1();FragmentManager childFragmentManager = getChildFragmentManager();  ListPagerBase li=new ListPagerBase(childFragmentManager,fn, list); pv.setAdapter(li);  tab.setupWithViewPager(pv);  tab.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {      @Override      public void onTabSelected(TabLayout.Tab tab) {          String s = tab.getText().toString();          Toast.makeText(getActivity(),"---"+s,Toast.LENGTH_SHORT).show();          for (int i = 0; i< list.size(); i++){              if(s.equals(list.get(i))){                  pv.setCurrentItem(i);              }          }      }      @Override      public void onTabUnselected(TabLayout.Tab tab) {      }      @Override      public void onTabReselected(TabLayout.Tab tab) {      }  });

extends Fragment {    private View view;    private XListView lv;    int count=0;    ListBase base;    private String name;    List<MyBean.ResultBean.DataBean> data=new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.fragment2,container,false);        lv = view.findViewById(R.id.xlv);        return view;    }   @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        name = getArguments().getString("name");            sta(name,1);        lv.setPullLoadEnable(true);        lv.setPullRefreshEnable(true);            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {                @Override                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                }            });        lv.setXListViewListener(new XListView.IXListViewListener() {            @Override            public void onRefresh() {                sta(name,1);            }            @Override            public void onLoadMore() {                sta(name,2);            }        }); }    public void sta(String name, final int n){        if(name.equals("国内")){            String path=" http://v.juhe.cn/toutiao/index?type=guonei&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }else if(name.equals("国际")){            String path=" http://v.juhe.cn/toutiao/index?type=guoji&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }else if(name.equals("娱乐")){            String path="http://v.juhe.cn/toutiao/index?type=yule&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("科技")){            String path=" http://v.juhe.cn/toutiao/index?type=keji&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("军事")){            String path=" http://v.juhe.cn/toutiao/index?type=junshi&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("体育")){            String path="http://v.juhe.cn/toutiao/index?type=tiyu&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("财经")){            String path="http://v.juhe.cn/toutiao/index?type=caijing&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("时尚")){            String path="http://v.juhe.cn/toutiao/index?type=shishang&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }        else if(name.equals("社会")){            String path="http://v.juhe.cn/toutiao/index?type=shehui&key=0a5fd1c391de594825830f01ed2817b4";            st(path,n);        }else if(name.equals("推荐")){            String path= "http://v.juhe.cn/toutiao/index?type=top&key=0a5fd1c391de594825830f01ed2817b4";          st(path,n);        }    }    public void st(String path,final int n){        UrlWangLuo.newUrl(getActivity(), path, new JieKou() {            @Override            public void jieKou(String json) {                Gson gson=new Gson();                MyBean myBean = gson.fromJson(json, MyBean.class);                data.addAll(myBean.getResult().getData());                if(n==2){                    if(base==null){                        base= new ListBase(data,getActivity());                        lv.setAdapter(base);                    }else{                        base.notifyDataSetChanged();                        lv.stopLoadMore();                    }                }else if(n==1){                    if(base==null){                        base= new ListBase(data,getActivity());                        lv.setAdapter(base);                    }else{                        base.notifyDataSetChanged();                    }                    Date dt=new Date(System.currentTimeMillis());                    SimpleDateFormat sim=new SimpleDateFormat("HH:mm");                    lv.setRefreshTime(sim.format(dt));                    lv.stopRefresh();                }            }        });    }}

//fragment2.xml
<com.example.wanghao.xlistview.XListView    android:id="@+id/xlv"    android:layout_width="match_parent"    android:layout_height="match_parent"></com.example.wanghao.xlistview.XListView>

//适配器
 extends BaseAdapter{    List<MyBean.ResultBean.DataBean> data;    Context context;    public ListBase(List<MyBean.ResultBean.DataBean> data, Context context) {        this.data = data;        this.context =context;    }    @Override    public int getCount() {        return data.size();    }    @Override    public Object getItem(int i) {        return data.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        ViewHolder hd;        if(view==null){            hd=new ViewHolder();            view=View.inflate(context, R.layout.listbase,null);          hd.img=  view.findViewById(R.id.baimg);          hd.date=view.findViewById(R.id.badate);            hd.name=  view.findViewById(R.id.baname);            view.setTag(hd);        }else{           hd= (ViewHolder) view.getTag();        }        MyBean.ResultBean.DataBean bean = data.get(i);        hd.date.setText(bean.getDate());        hd.name.setText(bean.getTitle());        ImageLoader.getInstance().displayImage(bean.getThumbnail_pic_s(),hd.img, ImgHolder.dis());        return view;    }    class ViewHolder{        TextView name;        TextView date;        ImageView img;    }}