综合(侧拉+TabLayout+ListView+t跳转+轮播+GridView)

来源:互联网 发布:vb编程软件 编辑:程序博客网 时间:2024/05/16 15:47
public class MainActivity extends AppCompatActivity        implements NavigationView.OnNavigationItemSelectedListener {    private TabLayout tablayout;    private ViewPager viewpage;    private List<String> list=new ArrayList<String>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //设置tablayout数据        settablayoutdata();        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        drawer.setDrawerListener(toggle);        toggle.syncState();        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);        navigationView.setNavigationItemSelectedListener(this);    }    //设置tablayout数据    private void settablayoutdata() {        tablayout = (TabLayout) findViewById(R.id.tablayout);        viewpage = (ViewPager) findViewById(R.id.viewpage);        list.add("头条");        list.add("社会");        list.add("国内");        list.add("国际");        list.add("娱乐");        list.add("体育");        list.add("军事");        list.add("科技");        list.add("财经");        list.add("时尚");          tablayout.setupWithViewPager(viewpage);        viewpage.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {            @Override            public CharSequence getPageTitle(int position) {                return list.get(position);            }            @Override            public Fragment getItem(int position) {                NewFragment newFragment = new NewFragment();                Bundle bundle = new Bundle();                if (list.get(position).equals("头条")){                    bundle.putString("name","top");                }else if (list.get(position).equals("社会")){                    bundle.putString("name","shehui");                }else if (list.get(position).equals("国内")){                    bundle.putString("name","guonei");                }else if (list.get(position).equals("国际")){                    bundle.putString("name","guoji");                }else if (list.get(position).equals("娱乐")){                    bundle.putString("name","yule");                }else if (list.get(position).equals("体育")){                    bundle.putString("name","tiyu");                }else if (list.get(position).equals("军事")){                    bundle.putString("name","junshi");                }else if (list.get(position).equals("科技")){                    bundle.putString("name","keji");                }else if (list.get(position).equals("财经")){                    bundle.putString("name","caijing");                }else if (list.get(position).equals("时尚")){                    bundle.putString("name","shishang");                }                //给fragment 加bundle 数据                //activity与fragment 1.getset,2.接口回调,3.setArguments ,getAraguments                newFragment.setArguments(bundle);                return newFragment;            }            @Override            public int getCount() {                return list.size();            }        });    }    //设置listview数据    private void setlistviewdata() {    }    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            super.onBackPressed();        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    @SuppressWarnings("StatementWithEmptyBody")    @Override    public boolean onNavigationItemSelected(MenuItem item) {        // Handle navigation view item clicks here.        int id = item.getItemId();        if (id == R.id.nav_camera) {            // Handle the camera action        } else if (id == R.id.nav_gallery) {        } else if (id == R.id.nav_slideshow) {        } else if (id == R.id.nav_manage) {        } else if (id == R.id.nav_share) {        } else if (id == R.id.nav_send) {        }        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;    }}


==================================================================

public class NewFragment extends Fragment{    private ListView listview;    private View view;    private HttpURLConnection conne;    private List<NewDatas.ResultBean.DataBean> data ;    private PullToRefreshLayout pull;    public String aa="";    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {       //初始化布局        view = View.inflate(getActivity(), R.layout.listview,null);        //初始化控件        pull = (PullToRefreshLayout) view.findViewById(R.id.pull);        listview = view.findViewById(R.id.list);       //pulltorefresh的点击事件        pull.setRefreshListener(new BaseRefreshListener() {            @Override          //刷新            public void refresh() {                            pull.finishRefresh();            }            @Override            //加载            public void loadMore() {         pull.finishLoadMore();            }        });        dianji();        return view;    }    private void dianji() {        //listview的点击跳转        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                Intent intent = new Intent(getActivity(),Main2Activity.class);                intent.putExtra("name",aa);                startActivity(intent);            }        });    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        Bundle bundle = getArguments();        //接收传递过来的值        String string = bundle.getString("name", "top");        //调用解析方法        Jiexi(string);    }    private void Jiexi(final String string) {        //异步加载        new AsyncTask<String ,String ,String >(){                String  myurl="http://v.juhe.cn/toutiao/index?type="+string+"&key=8c6e9ca2058eaffcc04bcc4c0f5920c6";                protected String doInBackground(String... strings) {                //网络请求数据                    String str="";                    try {                        URL url = new URL(myurl);                        conne = (HttpURLConnection) url.openConnection();                        conne.setConnectTimeout(5000);                        conne.setReadTimeout(5000);                        int responseCode = conne.getResponseCode();                        if (responseCode==200){                            InputStream in = conne.getInputStream();                            byte[] by=new byte[1024];                            int len=0;                            while ((len=in.read(by))!=-1){                                str+=new String(by,0,len);                            }                        }                    } catch (MalformedURLException e) {                        e.printStackTrace();                    } catch (IOException e) {                        e.printStackTrace();                    }                 return str;                }            @Override            protected void onPostExecute(String s) {                //gson解析                aa=s;                Gson gson = new Gson();                NewDatas newDatas = gson.fromJson(s, NewDatas.class);                data = newDatas.getResult().getData();                //listview适配器                MyAdapter myAdapter = new MyAdapter(getActivity(),data);                listview.setAdapter(myAdapter);                super.onPostExecute(s);            }        }.execute();    }}

=========================================================

public class App extends Application {    @Override    public void onCreate() {        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.mipmap.ic_launcher)                .displayer(new FadeInBitmapDisplayer(2000)).cacheOnDisk(true)                .cacheInMemory(true).build();        ImageLoaderConfiguration configs = new ImageLoaderConfiguration.Builder(                this).defaultDisplayImageOptions(options).threadPoolSize(5)                .build();        ImageLoader.getInstance().init(configs);        super.onCreate();    }}

===========================================================

public class Main2Activity extends AppCompatActivity {    private GridView r;    private ListView lsit;    private   List<NewDatas.ResultBean.DataBean> data;    //轮播下面的小点(小圆点是本地的,自己导入的图片)    private ConvenientBanner convenientBanner;    //图片加载地址的集合    private List<String> bean=new ArrayList<String>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //初始化布局        setContentView(R.layout.activity_main2);        //  初始化控件        r = (GridView) findViewById(R.id.r);        lsit = (ListView) findViewById(R.id.list);        //得到传递过来的数据        Intent intent = getIntent();        String name = intent.getStringExtra("name");        //解析从网络上获取到的数据        Gson gson = new Gson();        NewDatas newDatas = gson.fromJson(name, NewDatas.class);         data = newDatas.getResult().getData();        //设置适配器        MyAdapter myAdapter = new MyAdapter(Main2Activity.this, data);        r.setAdapter(myAdapter);        lsit.setAdapter(myAdapter);        String a = data.get(0).getThumbnail_pic_s();        String a1 = data.get(0).getThumbnail_pic_s02();        String a2 = data.get(0).getThumbnail_pic_s03();        bean.add(a);        bean.add(a1);        bean.add(a2);        convenientBanner = (ConvenientBanner) findViewById(R.id.convenientBanner);//        bean = Arrays.asList(im        convenientBanner.setManualPageable(true);        //设置自动轮播的时间        convenientBanner.startTurning(2000);        //设置点击事件        //泛型为具体实现类ImageLoaderHolder        convenientBanner.setPages(new CBViewHolderCreator<NetImageLoadHolder>() {            @Override            public NetImageLoadHolder createHolder() {                return new NetImageLoadHolder();            }        }, bean);        //设置每个pager的点击事件        convenientBanner.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(int position) {                Toast.makeText(Main2Activity.this, "点击了" + convenientBanner.getCurrentItem(), Toast.LENGTH_SHORT).show();            }        });    }    public class NetImageLoadHolder implements Holder<String> {        private ImageView image_lv;        //可以是一个布局也可以是一个Imageview        @Override        public ImageView createView(Context context) {            image_lv = new ImageView(context);            image_lv.setScaleType(ImageView.ScaleType.FIT_XY);            return image_lv;        }        @Override        public void UpdateUI(Context context, int position, String data) {            //Glide框架            Glide.with(context).load(data).into(image_lv);        }    }}
==========================================

public class MyAdapter extends BaseAdapter {    private Context context;    private List<NewDatas.ResultBean.DataBean> list;    public MyAdapter(Context context, List<NewDatas.ResultBean.DataBean> list) {        this.context = context;        this.list = list;    }    public static final int TYPE_ONE = 0;    public static final int TYPE_TWO = 1;    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int position) {        return null;    }    @Override    public long getItemId(int position) {        return 0;    }    @Override    public int getItemViewType(int position) {//判断view类型        int p = position % 2;        if (p == 0) {            return TYPE_ONE;        } else {            return TYPE_TWO;        }    }    @Override    public int getViewTypeCount() {        return 2;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder holder = null;        ViewHolder1 holder1 = null;        int type = getItemViewType(position);        if (convertView == null) {            if (type==TYPE_ONE){                holder = new ViewHolder();                convertView = View.inflate(context, R.layout.list_item_one, null);                holder.lv_iv = (ImageView) convertView.findViewById(R.id.lv_iv);                holder.lv_tv = (TextView) convertView.findViewById(R.id.lv_tv);                holder.lv_time = (TextView) convertView.findViewById(R.id.lv_time);                convertView.setTag(holder);            }else {                holder1 = new ViewHolder1();                convertView = View.inflate(context, R.layout.list_view_two, null);                holder1.lv2_iv1 = (ImageView) convertView.findViewById(R.id.lv2_iv1);                holder1.lv2_iv2 = (ImageView) convertView.findViewById(R.id.lv2_iv2);                convertView.setTag(holder1);            }        } else {            if (type==TYPE_ONE){                holder = (ViewHolder) convertView.getTag();            }            else {                holder1 = (ViewHolder1) convertView.getTag();            }        }        if (type==TYPE_ONE){            ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(), holder.lv_iv);            holder.lv_tv.setText(list.get(position).getTitle());            holder.lv_time.setText(list.get(position).getAuthor_name());}        else {            ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(), holder1.lv2_iv1);            ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(), holder1.lv2_iv2);        }        return convertView;    }class ViewHolder {    ImageView lv_iv;    TextView lv_tv;    TextView lv_time;}class ViewHolder1{    ImageView lv2_iv1;    ImageView lv2_iv2;}}

===============================================





阅读全文
0 0
原创粉丝点击