DrawerLayout(侧拉)与多条目的展示

//创建侧拉listview的条目


<resources>
    <string name="app_name">RIKAO0912</string>
    <string-array name="news">
        <item>关注</item>
        <item>推荐</item>
        <item>热点</item>
        <item>视频</item>
        <item>数码</item>
        <item>科技</item>

    </string-array>
</resources>


//布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/listview"/>
    </LinearLayout>

    <ListView
        android:layout_width="180sp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:id="@+id/lv"
        android:entries="@array/news"
        android:background="#fff"
        />


</android.support.v4.widget.DrawerLayout>


//具体的方法操作

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.google.gson.Gson;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

public class MainActivity extends AppCompatActivity {
  private DrawerLayout dl;
    private ListView lv1,lv2;
    private static final String surl="http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4http://v.juhe.cn/toutiao/index?type=";
     String ss="&key=2f092bd9ce76c0257052d6d3c93c11b4";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dl=(DrawerLayout)findViewById(R.id.activity_main);
        lv1=(ListView)findViewById(R.id.lv);
        lv2=(ListView)findViewById(R.id.listview);

        dl.openDrawer(lv1);
        //侧拉的条目监听
        lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this,"qqqq"+i,Toast.LENGTH_SHORT).show();
                if(i==0){
                    int p=1;
                    init(surl+p+ss);
                }else
                if(i==1){

                    int p=2;
                    init(surl+p+ss);
                }else
                if(i==2){
                    int p=3;
                    init(surl+p+ss);
                }else
                if(i==3){
                    int p=4;
                    init(surl+p+ss);
                }


            }
        });

    }
    private void init(String f)  {
        new AsyncTask<String,Integer,String>(){

            @Override
            protected String doInBackground(String... strings) {
                String ss=strings[0];
                String str="";
                try {
                    URL url = new URL(ss);
                    HttpURLConnection http=(HttpURLConnection)url.openConnection();
                    http.setReadTimeout(2000);
                    http.setConnectTimeout(2000);
                    int rc = http.getResponseCode();
                    if(rc==200){
                        InputStream in = http.getInputStream();
                        byte[] b=new byte[1024];
                        int len=0;
                        while((len=in.read(b))!=-1){
                            str+=new String(b,0,len);
                        }

                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return str;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Log.i("TAG",s);
                List<JavaBean.ResultBean.DataBean> data = new Gson().fromJson(s, JavaBean.class).getResult().getData();
                Log.i("TAG",data.size()+"");
            //设置适配器
                lv2.setAdapter(new Myadapter(data,MainActivity.this));
            }
        }.execute(f);


    } 
}

//创建universal_Imager_Loader,注意导入gson和universal_Imager_Loader的架包

import android.app.Application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;


public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration con=new ImageLoaderConfiguration.Builder(this)
                .build();
        ImageLoader.getInstance().init(con);
    }



}


//创建适配器的类


 

package com.example.shenxuesong.rikao0912;

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 com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageSize;

import java.util.List;



public class Myadapter extends BaseAdapter {
    private List<JavaBean.ResultBean.DataBean> data;
    private Context context;

    public Myadapter(List<JavaBean.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 int getItemViewType(int position) {
        int re=0;
        if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()!=null&&data.get(position).getThumbnail_pic_s03()!=null){
            re=0;
        }
        else if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()!=null&&data.get(position).getThumbnail_pic_s03()==null){
            re=1;
        }
        else if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()==null&&data.get(position).getThumbnail_pic_s03()==null){
            re=2;
        }
        return re;
    }

    @Override
    public int getViewTypeCount() {
        return 3;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder1 holder1=null;
        ViewHolder2 holder2=null;
        ViewHolder3 holder3=null;

       int re = getItemViewType(i);
        if(re==0){
            if(view==null){
                view=View.inflate(context,R.layout.item1,null);

                holder1=new ViewHolder1();

                holder1.tv=(TextView) view.findViewById(R.id.tv);
                holder1.image1=(ImageView)view.findViewById(R.id.image1);
                holder1.image2=(ImageView)view.findViewById(R.id.image2);
                holder1.image3=(ImageView)view.findViewById(R.id.image3);

                  view.setTag(holder1);

            }else{
                holder1= (ViewHolder1) view.getTag();
            }
            holder1.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());
            String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();
            String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();
            String thumbnail_pic_s03 = data.get(i).getThumbnail_pic_s03();
            ImageSize size=new ImageSize(100,100);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder1.image1,size);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder1.image2,size);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s03,holder1.image3,size);
        }else if(re==1){
            if(view==null){
                view=View.inflate(context,R.layout.item2,null);
                holder2=new ViewHolder2();
                holder2.tv=(TextView) view.findViewById(R.id.tv);
                holder2.image1=(ImageView)view.findViewById(R.id.image1);
                holder2.image2=(ImageView)view.findViewById(R.id.image2);

                view.setTag(holder2);
            }else{
                holder2= (ViewHolder2) view.getTag();
            }
            holder2.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());
            String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();
            String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();

            ImageSize size=new ImageSize(100,100);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder2.image1,size);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder2.image2,size);
        }else if(re==2){
            if(view==null){
                view=View.inflate(context,R.layout.item3,null);
                holder3=new ViewHolder3();
                holder3.tv=(TextView) view.findViewById(R.id.tv);
                holder3.image1=(ImageView)view.findViewById(R.id.image1);

                view.setTag(holder3);
            }else{
                holder3= (ViewHolder3) view.getTag();
            }
            holder3.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());
            String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();
        ;
            ImageSize size=new ImageSize(100,100);
            ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder3.image1,size);

        }




        return view;
    }
    class ViewHolder3{
        TextView tv;
        ImageView image1;
    }
    class ViewHolder2{
        TextView tv;
        ImageView image1;
        ImageView image2;
    }
    class ViewHolder1{
        TextView tv;
        ImageView image1;
        ImageView image2;
        ImageView image3;


    }
}

//配置权限


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.shenxuesong.rikao0912">
<uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值