侧滑

package com.example.com.liuben20170108;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.google.gson.Gson;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    String pathone="http://120.27.23.105/product/getCatagory";
    private ListView lvone;
    private ListView lvtwo;
    private String string;
    private List<Beanone.DataBean> listone;
    private String ccid;
    private String pathtwo;
    private String s;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //找到控件
        lvone = findViewById(R.id.lvone);
        lvtwo = findViewById(R.id.lvtwo);
        //侧滑菜单展示
        getcehuo getcehuo = new getcehuo();
        getcehuo.execute();
        //主菜单显示
        lvone.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                ccid = listone.get(i).getCid()+"";
                pathtwo = "http://120.27.23.105/product/getProductCatagory?cid="+ ccid;
                getzhu getzhu = new getzhu();
                getzhu.execute();
            }
        });
    }
    //侧滑菜单展示
    class getcehuo extends AsyncTask<String,Void,String>{

        @Override
        protected String doInBackground(String... strings) {
            try {
                URL url=new URL(pathone);
               HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.setReadTimeout(5000);
                urlConnection.setConnectTimeout(5000);
                if(urlConnection.getResponseCode()==200){
                    InputStream inputStream = urlConnection.getInputStream();
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    byte[] b=new byte[1024];
                    int len=-1;
                    while((len=inputStream.read(b))!=-1){
                          outputStream.write(b,0,len);
                    }
                    string = outputStream.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return string;
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson=new Gson();
            Beanone beanone = gson.fromJson(s, Beanone.class);
            listone = beanone.getData();
            Myabapter myabapter = new Myabapter(listone, MainActivity.this);
            lvone.setAdapter(myabapter);
        }
    }
    //主菜单显示
    class getzhu extends AsyncTask<String ,Void,String >{

        @Override
        protected String doInBackground(String... strings) {

            try {
                URL url=new URL(pathtwo);
                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.setReadTimeout(5000);
                urlConnection.setConnectTimeout(5000);
                if(urlConnection.getResponseCode()==200){
                    InputStream inputStream = urlConnection.getInputStream();
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    byte[] b=new byte[1024];
                    int len=-1;
                    while((len=inputStream.read(b))!=-1){
                        outputStream.write(b,0,len);
                    }
                    s = outputStream.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return s;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson=new Gson();
            Beantwo beantwo = gson.fromJson(s, Beantwo.class);
            List<Beantwo.DataBean> data = beantwo.getData();
            List<List<Beantwo.DataBean.ListBean>> list=new ArrayList<>();

            for(int i=0;i<data.size();i++) {
                List<Beantwo.DataBean.ListBean> list1 = data.get(i).getList();
                list.add(list1);
            }

            MyAdapterone myAdapter = new MyAdapterone(MainActivity.this, list);
           lvtwo.setAdapter(myAdapter);
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }
    }
}
 
 
 
 
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Environment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

import java.io.File;
import java.util.List;

/**
 * Created by 丶未央 on 2018/1/8.
 */

class Myabapter extends BaseAdapter{
    List<Beanone.DataBean> listone;
    Context context;
    private final DisplayImageOptions options;

    public Myabapter(List<Beanone.DataBean> listone, Context context) {
        this.listone=listone;
        this.context=context;
        //1.初使化--进行一下全局配置 Application
        File cachefile= new File(Environment.getExternalStorageDirectory().getPath()+"/images");
        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(context)
                .memoryCacheExtraOptions(400, 700)//缓存图片最大的长和宽
                .threadPoolSize(3)//线程池的数量
                .threadPriority(4)
                .memoryCacheSize(20*1024*1024)//设置内存缓存区大小
                .diskCacheSize(80*1024*1024)//设置sd卡缓存区大小
                .diskCache(new UnlimitedDiscCache(cachefile))//自定义sd卡缓存目录
                .writeDebugLogs()//打印日志内容
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//给缓存的文件名进行md5加密处理
                .build();
        ImageLoader.getInstance().init(configuration);
//2.创建displayImageoptions类
        //使用内存缓存
//使用磁盘缓存
//设置正在下载的图片
//url为空或请求的资源不存在时
//下载失败时显示的图片
//设置图片色彩模式 1px=2字节
//设置图片的缩放模式
//设置圆角 30代表半径 自定义
        options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//使用内存缓存
                .cacheOnDisk(true)//使用磁盘缓存
                .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
                .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
                .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片
                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 1px=2字节
                .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式
                .displayer(new RoundedBitmapDisplayer(100))//设置圆角 30代表半径 自定义
                .build();

    }

    @Override
    public int getCount() {
        return listone.size();
    }

    @Override
    public Object getItem(int i) {
        return listone.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        Holderone holderone;
        if(view==null){
            view=View.inflate(context,R.layout.one,null);
             holderone = new Holderone();
            holderone.imageone=view.findViewById(R.id.imageone);
            holderone.textone=view.findViewById(R.id.textone);
            view.setTag(holderone);
        }else{
            holderone= (Holderone) view.getTag();
        }
        holderone.textone.setText(listone.get(i).getName());
        //3.图片加载
        ImageLoader.getInstance().displayImage(listone.get(i).getIcon(),holderone.imageone, options);
        return view;
    }
    class Holderone{
        ImageView imageone;
        TextView textone;
    }
}

 
 
 
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.List;

/**
 * Created by 丶未央 on 2018/1/8.
 */

class MyAdapterone extends BaseAdapter{
    Context context;
    List<List<Beantwo.DataBean.ListBean>> list;
    public MyAdapterone(Context context, List<List<Beantwo.DataBean.ListBean>> list) {
        this.context=context;
        this.list=list;
    }

    @Override
    public int getCount() {return list.size();

    }

    @Override
    public Object getItem(int i) {
        return list.get(i).get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        Holdertwo holdertwo;
        if(view==null){
            view=View.inflate(context,R.layout.two,null);
           holdertwo = new Holdertwo();
            holdertwo.imagetwo=view.findViewById(R.id.imagetwo);
            holdertwo.textname=view.findViewById(R.id.textname);
            view.setTag(holdertwo);
        }else{
            holdertwo= (Holdertwo) view.getTag();
        }
        holdertwo.textname.setText(list.get(i).get(i).getName());
        holdertwo.imagetwo.setImageResource(R.drawable.ic_launcher_background);
        return view;
    }
    class Holdertwo{
        ImageView imagetwo;
        TextView textname;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值