exam01

来源:互联网 发布:中国移动数据流量卡 编辑:程序博客网 时间:2024/06/11 15:07
Activity里的逻辑  TabLayout标题头+XlistView
public class MainActivity extends AppCompatActivity {    private String url = "http://gank.io/api/data/";    private TabLayout tbl;    private ViewPager vp;    String[] string={"福利","Android","iOS","休息视频","拓展资源","前端","all"};    ArrayList<Fragment> fragmentList = new ArrayList<Fragment>();    List<String> titleLis;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        titleLis = Arrays.asList(string);        tbl = (TabLayout) findViewById(R.id.tbl);        vp = (ViewPager) findViewById(viewPager);        for (int i = 0; i <titleLis.size() ; i++) {            String urll = url+ URLEncoder.encode(titleLis.get(i));            Fragment01 instances = Fragment01.getInstances(urll);            fragmentList.add(instances);        }        vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {            @Override            public Fragment getItem(int position) {                return fragmentList.get(position);            }            @Override            public int getCount() {                return fragmentList.size();            }            @Override            public CharSequence getPageTitle(int position) {                return titleLis.get(position);            }        });        tbl.setTabMode(TabLayout.MODE_FIXED);        //让tablayout和Viewpager关联;        tbl.setupWithViewPager(vp);    }}
Fragment
public class Fragment01 extends Fragment implements XListView.IXListViewListener{    private TextView textView;    private XListView xlv;    private ImageLoader instance;    int pager = 1;    List<Bean.ResultsBean> list = new ArrayList<>();    private String url;    @Nullable    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.item01, container, false);        xlv = view.findViewById(R.id.xlv);        return view;    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        Bundle bundle = getArguments();        url = bundle.getString("url");        instance = ImageLoader.getInstance();        initdata(1);        xlv.setPullLoadEnable(true);        xlv.setXListViewListener(this);    }    private void initdata(int pager) {        new MAsynctack().execute(url+"/10/"+pager);    }    @Override    public void onRefresh() {        list.clear();        initdata(1);        xListViewUIComplete();    }    @Override    public void onLoadMore() {        initdata(pager++);        xListViewUIComplete();    }    private void xListViewUIComplete() {        //让刷新头消失        xlv.stopRefresh();        //让加载更多文字消失        xlv.stopLoadMore();        //设置刷新时间为"刚刚"        xlv.setRefreshTime("刚刚");    }    class MAsynctack extends AsyncTask<String,Void,String> {        @Override        protected String doInBackground(String... params) {            String s = params[0];            String netjson = NetWordUtils.getNetjson(s);            return netjson;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            List<Bean.ResultsBean> rows = gson.fromJson(s, Bean.class).getResults();            list.addAll(rows);            xlv.setAdapter(new MyAdapter());        }    }    class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int position) {            return list.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            View view = View.inflate(getActivity(),R.layout.list_item,null);            ImageView imageView = view.findViewById(R.id.imageView);            TextView textView = view.findViewById(R.id.textView);            textView.setText(list.get(position).get_id()+"xxx");            instance.displayImage(list.get(position).getUrl(),imageView);            return view;        }    }    public static Fragment01 getInstances(String url) {        Fragment01 fragment01 = new Fragment01();        Bundle bundle = new Bundle();        bundle.putString("url", url);        fragment01.setArguments(bundle);        return fragment01;    }}
MApp
@Overridepublic void onCreate() {    super.onCreate();    ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).build();    ImageLoader.getInstance().init(build);}