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);}
阅读全文
0 0