需要的权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
一个注册
android:name=".actity.app.MyApplicon"
public class MainActivity extends AppCompatActivity { ///配置 private XListView x_li; private int page=1; private JSONArray jsonArray; private MyAdapter adapter; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: x_li.stopRefresh(); break; case 1: page++; getserrver(); x_li.stopLoadMore(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化控件 x_li = (XListView) findViewById(R.id.x_li); getserrver(); x_li.setPullRefreshEnable(true); x_li.setPullLoadEnable(true); x_li.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { Toast.makeText(MainActivity.this,"下拉刷新",Toast.LENGTH_SHORT).show(); page=1; getserrver(); handler.sendEmptyMessageDelayed(0,2000); } @Override public void onLoadMore() { Toast.makeText(MainActivity.this,"上拉加载",Toast.LENGTH_SHORT).show(); handler.sendEmptyMessageDelayed(1,2000); } }); getserrver(); } ////解析 private void getserrver() { String url = "http://www.xieast.com/api/news/news.php?page="+page;; AsyncHttpClient client=new AsyncHttpClient(); client.get(this, url, new TextHttpResponseHandler() { @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { } @Override public void onSuccess(int statusCode, Header[] headers, String responseString) { try { JSONObject jsonobject=new JSONObject(responseString); JSONArray data = jsonobject.getJSONArray("data"); if (page==1){ jsonArray = new JSONArray(); } for (int i=0;i<data.length();i++) { jsonArray.put(data.get(i)); } if (page==1){ adapter = new MyAdapter(MainActivity.this,jsonArray); x_li.setAdapter(adapter); }else { adapter.notifyDataSetChanged(); } } catch (JSONException e) { e.printStackTrace(); } } }); } }
///////imageLoanger 初始化
public class MyApplicon extends Application { @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this); File cacheDirectory = StorageUtils.getCacheDirectory(this); ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this); ImageLoader.getInstance().init(configuration); } }
//////apadter
public class MyAdapter extends BaseAdapter{ private JSONArray data; private Context context; private int type; // 变量 private final int TT_0=0; private final int TT_1=1; public MyAdapter(Context context, JSONArray data) { this.context = context; this.data = data; } @Override public int getCount() { return data.length(); } @Override public Object getItem(int i) { try { return data.get(i); } catch (JSONException e) { e.printStackTrace(); } return null; } @Override public long getItemId(int i) { return i; } //自定义重写 @Override public int getItemViewType(int position) { int p=position%2; if (p==0){ return TT_0; }else { return TT_1; } } //自定义重写 @Override public int getViewTypeCount() { return 2; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder=null; if (view==null) { holder = new ViewHolder(); if (type==1) { view = View.inflate(context, R.layout.time_layout, null); holder.image11 = (ImageView) view.findViewById(R.id.image11); holder.text11 = (TextView) view.findViewById(R.id.text11); view.setTag(holder); } else { view = View.inflate(context, R.layout.erye_layout, null); holder.image01 = (ImageView) view.findViewById(R.id.image01); holder.image02 = (ImageView) view.findViewById(R.id.image02); holder.image03 = (ImageView) view.findViewById(R.id.image03); holder.text22 = (TextView) view.findViewById(R.id.text22); view.setTag(holder); } }else { holder= (ViewHolder) view.getTag(); } if (type==1){ try { JSONObject jsonObject=data.getJSONObject(i); String title = jsonObject.getString("title"); String thumbnail_pic_s = jsonObject.getString("thumbnail_pic_s"); holder.text11.setText(title); //获取图片路径 DisplayImageOptions options = DisplayImageOptions.createSimple(); ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder.image11); } catch (JSONException e) { e.printStackTrace(); } }else { try { JSONObject jsonObject=data.getJSONObject(i); String title = jsonObject.getString("title"); holder.text22.setText(title); String thumbnail_pic_s = jsonObject.getString("thumbnail_pic_s"); String thumbnail_pic_s02 = jsonObject.getString("thumbnail_pic_s02"); String thumbnail_pic_s03 = jsonObject.getString("thumbnail_pic_s03"); // DisplayImageOptions options = DisplayImageOptions.createSimple(); DisplayImageOptions.Builder builder = new DisplayImageOptions.Builder(); ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder.image01); ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder.image02); ImageLoader.getInstance().displayImage(thumbnail_pic_s03,holder.image03); } catch (JSONException e) { e.printStackTrace(); } } return view; } class ViewHolder{ TextView text11; ImageView image11; ImageView image01; ImageView image02; ImageView image03; TextView text22; } }