xlistview获取图片与文字

1.布局

(1)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.example.lxx.MainActivity">
<com.example.lxx.view.XListView
    android:id="@+id/xw"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    >

</com.example.lxx.view.XListView>
</RelativeLayout>
(2)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="58dp"
        android:layout_marginStart="58dp"
        android:layout_marginTop="61dp"
        app:srcCompat="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView"
        android:layout_marginBottom="11dp"
        android:layout_marginLeft="107dp"
        android:layout_marginStart="107dp"
        android:layout_toEndOf="@+id/imageView"
        android:layout_toRightOf="@+id/imageView"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/textView1"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/textView1"
        android:layout_marginEnd="21dp"
        android:layout_marginRight="21dp"
        android:layout_marginTop="28dp"
        android:text="TextView" />
</RelativeLayout>

Mainactivtiy

package com.example.lxx;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.lxx.view.XListView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;

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

import static com.example.lxx.R.id.imageView;

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {

    private XListView xw;
    private Mydapter mydapter;
    private  List<JsonBeans.DataBean> list=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取控件

        intview();
        Handler handler = new Handler();
        mydapter = new Mydapter();
        xw.setAdapter(mydapter);
        path();

    }
    private void intview() {



        xw = (XListView) findViewById(R.id.xw);
        xw.setXListViewListener(this);
        xw.setPullLoadEnable(true);
    }
    private void path() {
        new AsyTakString().execute("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1");
    }
class Mydapter extends BaseAdapter{


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

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

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        Hodler hodel;
        if (view==null){
            hodel = new Hodler();
            view = view.inflate(MainActivity.this, R.layout.xl, null);
            hodel.textview=(TextView)view.findViewById(R.id.textView1);
            hodel.text=(TextView) view.findViewById(R.id.textView2);
            hodel.imageView1=(ImageView) view.findViewById(imageView);
            view.setTag(hodel);

        }
        else {
            hodel = (Hodler) view.getTag();
        }
        hodel.text.setText(list.get(i).getTitle());
        hodel.textview.setText(list.get(i).getOccupation());

        ImageLoader.getInstance().displayImage(list.get(i).getImg(),hodel.imageView1);



        return view;

    }
    class Hodler{

        TextView text;
         TextView textview;
       ImageView imageView1;
    }
}

    /**
     *

    class MyImage extends AsyncTask<String,Void,Bitmap>{
        private ImageView imageView;

        public MyImage(ImageView imageView) {
            this.imageView = imageView;
        }

        @Override
        protected Bitmap doInBackground(String... strings) {
            try {
                URL url = new URL(strings[0]);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                int responseCode = connection.getResponseCode();
                if (responseCode==200)
                {
                    InputStream inputStream = connection.getInputStream();
                    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                    return bitmap;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Bitmap bitmap) {
            super.onPostExecute(bitmap);
            imageView.setImageBitmap(bitmap);
        }
    } */
    class AsyTakString extends AsyncTask<String,Void,String>{

        @Override
        protected String doInBackground(String... strings) {
            try {
                URL url = new URL(strings[0]);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                int responseCode = connection.getResponseCode();
                if (responseCode==200)
                {
                    InputStream inputStream = connection.getInputStream();
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                    String str = "";
                    StringBuffer stringBuffer = new StringBuffer();
                    while ((str=bufferedReader.readLine())!=null)
                    {
                        stringBuffer.append(str);
                    }
                    return  stringBuffer.toString();

                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            JsonBeans jsonBeans = gson.fromJson(s, JsonBeans.class);
            List<JsonBeans.DataBean> data = jsonBeans.getData();
            list.addAll(data);
            mydapter.notifyDataSetChanged();
        }



    }

public  void  onLoad()
{
    xw.stopRefresh();
    xw.stopLoadMore();

    xw.setRefreshTime("刚刚");
}
    @Override
    public void onRefresh() {
    list.clear();
     path();
        onLoad();

    }

    @Override
    public void onLoadMore() {
        path();
        onLoad();
    }


}

Bean

package com.example.lxx;

import java.util.List;

/**
 * author:Created by WangZhiQiang on 2017/9/12.
 */

class JsonBeans {


    /**
     * code : 1
     * height : 0
     * width : 0
     * success : true
     * data : [{"userAge":33,"topTime":1469503026000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/334?a=1505182136574","createTime":1466160199000,"hxKey":"60fd9c2377f81ba1ccca450fb794e016","img":"http://img1.yulin520.com/news/HPUCVP74IFR0OKCZ9QQH.jpg#405_304","yulin":"81373","star":58,"title":"刘峰鸣 :能文能武,Call Me峰鸣哥","occupation":"证劵投资","userImg":"http://img1.yulin520.com/news/HPUCVP74IFR0OKCZ9QQH.jpg#405_304","impressEditId":334,"impressType":0,"replyTimes":17,"remark":"","click":0,"introduction":"83年/巨蟹座/ 开朗幽默,热情善良,追求刺激/喜欢温柔,体贴,可爱,善良的女孩/金融","source":0,"userName":"刘LLL","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1469503022000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/319?a=1505182136574","createTime":1465380170000,"hxKey":"dac884f7cc81691ba28a004091cbe122","img":"http://img1.yulin520.com/news/BPKZUX0MNFR0OT0WLCOD.png#598_450","yulin":"80821","star":77,"title":"刘佳怡 :直白女汉子也有个文艺梦","occupation":"保险","userImg":"http://img1.yulin520.com/news/BPKZUX0MNFR0OT0WLCOD.png#598_450","impressEditId":319,"impressType":0,"replyTimes":12,"remark":"","click":0,"introduction":"91年/处女座/性格直白,爱好广泛,有点女汉子/喜欢性格开朗,三观契合,高冷文艺范,有肌肉,175+/公司职业","source":0,"userName":"嘉咦咦咦","reporter":0,"status":1,"content":""},{"userAge":29,"topTime":1468980785000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/324?a=1505182136574","createTime":1465722569000,"hxKey":"ebf75ccd1fba85f248988d40e572914e","img":"http://img1.yulin520.com/news/UPPN83L0IFR0OBC1A4AK.jpg#800_600","yulin":"80569","star":52,"title":"陈松 :爱搞新花样的设计师","occupation":"互联网","userImg":"http://img1.yulin520.com/news/UPPN83L0IFR0OBC1A4AK.jpg#800_600","impressEditId":324,"impressType":0,"replyTimes":13,"remark":"","click":0,"introduction":"87年/处女座/善良可爱,安静温柔,爱独立思考/喜欢三观相似,经历相似,性格活泼的女孩/互联网设计师 ","source":0,"userName":"Song","reporter":0,"status":1,"content":""},{"userAge":26,"topTime":1468980773000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/323?a=1505182136574","createTime":1465721939000,"hxKey":"580786532670bc072b0aeb795bd6ddc7","img":"http://img1.yulin520.com/news/SPPW8T9QHFR0OM3HID0X.jpg#1280_960","yulin":"80983","star":101,"title":"秦心 :外形不娇小,心思很细腻","occupation":"银行","userImg":"http://img1.yulin520.com/news/SPPW8T9QHFR0OM3HID0X.jpg#1280_960","impressEditId":323,"impressType":0,"replyTimes":16,"remark":"","click":0,"introduction":"90年/天蝎座/爱美食,爱分享,有点内向/喜欢阳光,干净,175+的男孩子/银行接待","source":0,"userName":"秦心","reporter":0,"status":1,"content":""},{"userAge":23,"topTime":1468574992000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/337?a=1505182136574","createTime":1466162998000,"hxKey":"37dee7aaed1862c64c4fe38d75ccd52a","img":"http://img1.yulin520.com/news/XPW8OZXMSFR0O015UA7D.jpg#598_597","yulin":"81316","star":55,"title":"温其堂 :细心温柔IT\u201c熊猫\u201d男","occupation":"互联网","userImg":"http://img1.yulin520.com/news/XPW8OZXMSFR0O015UA7D.jpg#598_597","impressEditId":337,"impressType":0,"replyTimes":17,"remark":"","click":0,"introduction":"93年/水瓶座/温柔体贴,踏实细心/喜欢三观相符的女孩子/前端工程师","source":0,"userName":"榴莲","reporter":0,"status":1,"content":""},{"userAge":24,"topTime":1468574986000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/340?a=1505182136574","createTime":1466500236000,"hxKey":"2a294b9ffd9fb38d7b5b8739c821720f","img":"http://img1.yulin520.com/news/RPZ58LLNXFR0OKFGFHGK.jpg#616_695","yulin":"81370","star":72,"title":"曾思慧: 爱冒险爱尖叫的真性情Girl","occupation":"银行","userImg":"http://img1.yulin520.com/news/RPZ58LLNXFR0OKFGFHGK.jpg#616_695","impressEditId":340,"impressType":0,"replyTimes":13,"remark":"","click":0,"introduction":"92年/金牛座 /性格随和,自信大方/喜欢脾气好,爱运动,对人友好的男生/公司职员","source":0,"userName":"pony","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1468203095000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/341?a=1505182136574","createTime":1466678686000,"hxKey":"9f2d5f4346dee0c4983cb77f9a1892e7","img":"http://img1.yulin520.com/news/NQ1HJD75IFR0OARCWFEG.jpg#501_499","yulin":"80908","star":34,"title":"杨辉: 挑战自我从早起开始","occupation":"市场推广","userImg":"http://img1.yulin520.com/news/NQ1HJD75IFR0OARCWFEG.jpg#501_499","impressEditId":341,"impressType":0,"replyTimes":11,"remark":"","click":0,"introduction":"91年/巨蟹座/乐观开朗,沉稳内敛,机智幽默/喜欢温柔,体贴,孝顺的女生","source":0,"userName":"拯救","reporter":0,"status":1,"content":""},{"userAge":24,"topTime":1467618377000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/244?a=1505182136574","createTime":1461738088000,"hxKey":"751120bb7102fa563f098ee8c33ecb67","img":"http://img1.yulin520.com/news/SO9EZSX0QC90ONZY8SVZ.jpg#619_650","yulin":"77323","star":46,"title":"蔡嘉纯:咱东北菇凉特开朗","occupation":"市场推广","userImg":"http://img1.yulin520.com/news/SO9EZSX0QC90ONZY8SVZ.jpg#619_650","impressEditId":244,"impressType":0,"replyTimes":9,"remark":"","click":0,"introduction":"92年 狮子座/开朗东北妞/想开书店/公司职员","source":0,"userName":"林bibibi","reporter":0,"status":1,"content":""},{"userAge":22,"topTime":1467367384000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/246?a=1505182136574","createTime":1461749927000,"hxKey":"785fd3ce68d2a280a99896946dc67bf2","img":"http://img1.yulin520.com/news/OOAA5UE7EC90OM4X4AQ7.jpg#800_600","yulin":"77479","star":41,"title":"李林:曾经的淘气小子","occupation":"信贷","userImg":"http://img1.yulin520.com/news/OOAA5UE7EC90OM4X4AQ7.jpg#800_600","impressEditId":246,"impressType":0,"replyTimes":11,"remark":"","click":0,"introduction":"94年 水瓶座/曾经是淘气包/人缘好讲义气/金融业客户经理","source":0,"userName":"李林","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1467367368000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/218?a=1505182136574","createTime":1460446369000,"hxKey":"406e5f1f020f65203d200b686cd11da3","img":"http://img1.yulin520.com/news/FNTQDAWAJKF0OGYIUMRO.jpg#800_600","yulin":"76330","star":53,"title":"唐政:眉清目秀好少年","occupation":"互联网","userImg":"http://img1.yulin520.com/news/FNTQDAWAJKF0OGYIUMRO.jpg#800_600","impressEditId":218,"impressType":0,"replyTimes":16,"remark":"","click":0,"introduction":"91年 天蝎座/积极乐观/追求新奇事物/互联网销售经理","source":0,"userName":"Truman✨","reporter":0,"status":1,"content":""}]
     * message : null
     */

    private int code;
    private int height;
    private int width;
    private boolean success;
    private Object message;
    private List<DataBean> data;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public Object getMessage() {
        return message;
    }

    public void setMessage(Object message) {
        this.message = message;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * userAge : 33
         * topTime : 1469503026000
         * recommend : 0
         * url : http://www.yulin520.com/a2a/h5/impress/i1/334?a=1505182136574
         * createTime : 1466160199000
         * hxKey : 60fd9c2377f81ba1ccca450fb794e016
         * img : http://img1.yulin520.com/news/HPUCVP74IFR0OKCZ9QQH.jpg#405_304
         * yulin : 81373
         * star : 58
         * title : 刘峰鸣 :能文能武,Call Me峰鸣哥
         * occupation : 证劵投资
         * userImg : http://img1.yulin520.com/news/HPUCVP74IFR0OKCZ9QQH.jpg#405_304
         * impressEditId : 334
         * impressType : 0
         * replyTimes : 17
         * remark :
         * click : 0
         * introduction : 83年/巨蟹座/ 开朗幽默,热情善良,追求刺激/喜欢温柔,体贴,可爱,善良的女孩/金融
         * source : 0
         * userName : 刘LLL
         * reporter : 0
         * status : 1
         * content :
         */

        private int userAge;
        private long topTime;
        private int recommend;
        private String url;
        private long createTime;
        private String hxKey;
        private String img;
        private String yulin;
        private int star;
        private String title;
        private String occupation;
        private String userImg;
        private int impressEditId;
        private int impressType;
        private int replyTimes;
        private String remark;
        private int click;
        private String introduction;
        private int source;
        private String userName;
        private int reporter;
        private int status;
        private String content;

        public int getUserAge() {
            return userAge;
        }

        public void setUserAge(int userAge) {
            this.userAge = userAge;
        }

        public long getTopTime() {
            return topTime;
        }

        public void setTopTime(long topTime) {
            this.topTime = topTime;
        }

        public int getRecommend() {
            return recommend;
        }

        public void setRecommend(int recommend) {
            this.recommend = recommend;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public long getCreateTime() {
            return createTime;
        }

        public void setCreateTime(long createTime) {
            this.createTime = createTime;
        }

        public String getHxKey() {
            return hxKey;
        }

        public void setHxKey(String hxKey) {
            this.hxKey = hxKey;
        }

        public String getImg() {
            return img;
        }

        public void setImg(String img) {
            this.img = img;
        }

        public String getYulin() {
            return yulin;
        }

        public void setYulin(String yulin) {
            this.yulin = yulin;
        }

        public int getStar() {
            return star;
        }

        public void setStar(int star) {
            this.star = star;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getOccupation() {
            return occupation;
        }

        public void setOccupation(String occupation) {
            this.occupation = occupation;
        }

        public String getUserImg() {
            return userImg;
        }

        public void setUserImg(String userImg) {
            this.userImg = userImg;
        }

        public int getImpressEditId() {
            return impressEditId;
        }

        public void setImpressEditId(int impressEditId) {
            this.impressEditId = impressEditId;
        }

        public int getImpressType() {
            return impressType;
        }

        public void setImpressType(int impressType) {
            this.impressType = impressType;
        }

        public int getReplyTimes() {
            return replyTimes;
        }

        public void setReplyTimes(int replyTimes) {
            this.replyTimes = replyTimes;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public int getClick() {
            return click;
        }

        public void setClick(int click) {
            this.click = click;
        }

        public String getIntroduction() {
            return introduction;
        }

        public void setIntroduction(String introduction) {
            this.introduction = introduction;
        }

        public int getSource() {
            return source;
        }

        public void setSource(int source) {
            this.source = source;
        }

        public String getUserName() {
            return userName;
        }

        public void setUserName(String userName) {
            this.userName = userName;
        }

        public int getReporter() {
            return reporter;
        }

        public void setReporter(int reporter) {
            this.reporter = reporter;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }
    }
}

ImageLoder

package com.example.lxx;

import android.app.Application;

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

/**
 * author:Created by WangZhiQiang on 2017/9/12.
 */

public class Img extends Application
{
    @Override
    public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();


        ImageLoader.getInstance().init(config);


    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值