xlistview获取图片与文字
2017-09-15 10:18
155 查看
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); } }
相关文章推荐
- Android ListView从网络获取图片及文字显示(转)
- 根据参数获取资源id,将图片代替指定文字进行显示
- Android ListView从网络获取图片及文字显示
- 如何用Visual C#使用资源文件中资源(从资源文件中获取文字图片等)
- handle 获取文字和图片
- 54 js index() 兼容ie的短阴影效果 div高度无法获取 轮播图片 文字居与div底部 filter()和eq()
- Android ListView从网络获取图片及文字显示
- 从自制的Bundle中获取相应得资源(如图片和language中的文字)
- 获取html字符串中第一张图片的路径以及获取html字符串中的文字内容(去掉标签)
- 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片
- 获取json解析 图片,文字+MyAsyncTask+ImagerLoader
- PHP获取photoshop写入图片文字信息的方法
- ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- httpclict和httpurl获取文字和图片
- Android ListView从网络获取图片及文字显示
- launcher修改--获取widget信息(图片,文字等)(源码追踪)
- Android ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- Android获取图片,自动添加文字水印