XListView
来源:互联网 发布:监听软件 编辑:程序博客网 时间:2024/06/08 18:53
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout 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:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bawei.chenkai.zhoukaoerlianxi.MainActivity"> <com.bwie.xlistviewlibrary.View.XListView android:id="@+id/xlv" android:layout_width="match_parent" android:layout_height="match_parent"/> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" /></android.support.v4.widget.DrawerLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@mipmap/ic_launcher" /> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dp" /></LinearLayout><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dp" /></LinearLayout>GetJson
package com.bawei.chenkai.zhoukaoerlianxi;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by Administrator on 2017/10/11. */public class GetJson { private String str=""; public String getJson(String JSON_URL){ try { URL url=new URL(JSON_URL); HttpURLConnection connection= (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int rescode=connection.getResponseCode(); if(rescode==200){ InputStream inputStream=connection.getInputStream(); byte[] b=new byte[1024]; int index=0; while((index=inputStream.read(b))!=-1){ str+=new String(b,0,index); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return str; }}MainActivity
package com.bawei.chenkai.zhoukaoerlianxi;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import com.bwie.xlistviewlibrary.View.XListView;import com.google.gson.Gson;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ private static final String JSON_URL="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1"; private XListView xlistview; private List<JavaBean.DataBean> list; private MyAdapter adapter; private ListView listview; private List<String> dlist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlistview=(XListView)findViewById(R.id.xlv); listview=(ListView)findViewById(R.id.xlv); xlistview.setPullLoadEnable(true);//设置可以刷新和加载 xlistview.setXListViewListener(this); init(); } public void init(){ dlist=new ArrayList<String>(); for (int i = 0; i < 10; i++) { dlist.add("周考2练习"+i); } listview.setAdapter(new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,dlist)); //加载第一版数据 new AsyncTask<String,Integer,String>() { @Override protected String doInBackground(String... params) { String str=new GetJson().getJson(JSON_URL); return str; } @Override protected void onPostExecute(String s) { Gson gson=new Gson(); JavaBean javabean=gson.fromJson(s,JavaBean.class); list=javabean.getData(); adapter=new MyAdapter(list,MainActivity.this); xlistview.setAdapter(adapter); } }.execute(); } /** * 停止刷新或加载时 */ public void onLoad(){ xlistview.stopRefresh(); xlistview.stopLoadMore(); xlistview.setRefreshTime("刚刚"); } /** * 下拉会回调此方法,在次方法中写刷新的代码 */ @Override public void onRefresh() { Toast.makeText(this,"刷新",Toast.LENGTH_SHORT).show(); new AsyncTask<String,Integer,String>() { @Override protected String doInBackground(String... params) { String str=new GetJson().getJson(JSON_URL); return str; } @Override protected void onPostExecute(String s) { Gson gson=new Gson(); JavaBean javabean=gson.fromJson(s,JavaBean.class); list=javabean.getData(); adapter=new MyAdapter(list,MainActivity.this); xlistview.setAdapter(adapter); onLoad(); } }.execute(); } /** * 上拉到listview的最后一条显示出来,然后会调用此方法,在此方法中加载下一页数据 */ @Override public void onLoadMore() { new AsyncTask<String,Integer,String>() { @Override protected String doInBackground(String... params) { String str=new GetJson().getJson(JSON_URL); return str; } @Override protected void onPostExecute(String s) { Gson gson=new Gson(); JavaBean javabean=gson.fromJson(s,JavaBean.class); List<JavaBean.DataBean> datalist=javabean.getData(); list.addAll(datalist); adapter.notifyDataSetChanged(); onLoad(); } }.execute(); }}//适配器
package com.bawei.chenkai.zhoukaoerlianxi;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 java.util.List;/** * Created by Administrator on 2017/10/11. */public class MyAdapter extends BaseAdapter { private List<JavaBean.DataBean> list; private Context context; private final int type0=0; private final int type1=1; public MyAdapter(List<JavaBean.DataBean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { return position%2; } @Override public View getView(int position, View convertView, ViewGroup parent) { int i=getItemViewType(position); Holder1 holder1; Holder2 holder2; switch (i){ case type0: if(convertView==null){ convertView=View.inflate(context,R.layout.item1,null); holder1=new Holder1(); holder1.image=(ImageView)convertView.findViewById(R.id.image); holder1.text1=(TextView)convertView.findViewById(R.id.text1); convertView.setTag(holder1); }else{ holder1=(Holder1)convertView.getTag(); } ImageLoader imageLoader=ImageLoader.getInstance(); imageLoader.displayImage(list.get(position).getImg(),holder1.image); holder1.text1.setText(list.get(position).getTitle()); break; case type1: if(convertView==null){ convertView=View.inflate(context,R.layout.item2,null); holder2=new Holder2(); holder2.text2=(TextView)convertView.findViewById(R.id.text2); convertView.setTag(holder2); }else{ holder2=(Holder2)convertView.getTag(); } holder2.text2.setText(list.get(position).getTitle()); break; } return convertView; } class Holder1{ ImageView image; TextView text1; } class Holder2{ TextView text2; }}
阅读全文
0 0
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- Socke的TCP与UDP的区别及其用法
- ViewPager+Fragment
- 【BZOJ1012】【JSOI2008】最大数
- Codeforces Round #439 (Div. 2) The Artful Expedient
- angular制作简易购物车
- XListView
- 深度学习及其在语音处理中的应用综述
- Gmapping从开始到放弃—写一个TF 广播
- RecyclerView 的添加分割线
- 指针与引用
- Linux操作系统 第二章Linux的安装 问答题
- JS中变量和函数的提升机制(hoisting)
- python3 .6 下 报错 RuntimeError: dictionary changed size during iteration
- Tablayout的基础使用