ListView分类加载
来源:互联网 发布:超次元矩阵闪退 编辑:程序博客网 时间:2024/06/07 02:06
package com.example.administrator.zuoye3_activity.activity;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import android.widget.Toast;import com.example.administrator.zuoye3_activity.R;import com.example.administrator.zuoye3_activity.base.Base;import com.example.administrator.zuoye3_activity.utils.Utils;import com.example.administrator.zuoye3_activity.bean.User;import com.google.gson.Gson;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import cz.msebera.android.httpclient.HttpResponse;import cz.msebera.android.httpclient.client.HttpClient;import cz.msebera.android.httpclient.client.methods.HttpGet;import cz.msebera.android.httpclient.impl.client.DefaultHttpClient;public class MainActivity extends AppCompatActivity { private String JsonUrl="http://mock.eolinker.com/success/tuHqTZ8UYAnYKvaT9b9Sdu3ZbMJmvGjJ"; private ArrayList<User> list; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.list); MyAsyncTask task=new MyAsyncTask(); task.execute(JsonUrl); } private class MyAsyncTask extends AsyncTask<String,Integer,String>{ @Override protected void onPostExecute(String s) { super.onPostExecute(s); String json = s.toString(); Gson gson=new Gson(); User user = gson.fromJson(json, User.class); listView.setAdapter(new Base(MainActivity.this,user)); } @Override protected String doInBackground(String... params) { String s = params[0]; HttpClient httpClient=new DefaultHttpClient(); HttpGet httpGet=new HttpGet(s); try { HttpResponse response = httpClient.execute(httpGet); if (response.getStatusLine().getStatusCode()==200){ InputStream inputStream = response.getEntity().getContent(); String json = Utils.getJson(inputStream); return json; } } catch (IOException e) { e.printStackTrace(); } return null; } }}
package com.example.administrator.zuoye3_activity.base;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.administrator.zuoye3_activity.R;import com.example.administrator.zuoye3_activity.bean.User;import com.nostra13.universalimageloader.core.ImageLoader;/** * Created by Administrator on 2017/2/15. */public class Base extends BaseAdapter { private Context context; private User user; //定义四个不同的类型 private final int v_1 = 0; private final int v_2 = 1; private final int v_3 = 2; private final int v_4 = 3; public Base(Context context, User user) { this.context = context; this.user = user; } @Override public int getViewTypeCount() { //几个不同类型的条目 return 4; } @Override public int getItemViewType(int position) { if (position == 0) { return v_1; } else if (position < 10) { return v_2; } else if ( position < 14) { return v_3; } else if (position == 14) { return v_4; } return 0; } @Override public int getCount() { //15条目 return 15; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder1 v1 = new ViewHolder1(); ViewHolder2 v2 = new ViewHolder2(); ViewHolder3 v3 = new ViewHolder3(); ViewHolder4 v4 = new ViewHolder4(); //获取游标 int type = getItemViewType(position); if (convertView == null) { switch (type) { case v_1: convertView = LayoutInflater.from(context).inflate(R.layout.list1, null); v1.imageView1= (ImageView) convertView.findViewById(R.id.image1); convertView.setTag(v1); break; case v_2: convertView = LayoutInflater.from(context).inflate(R.layout.list2, null); v2.imageView2= (ImageView) convertView.findViewById(R.id.image2); v2.textView2= (TextView) convertView.findViewById(R.id.text2); convertView.setTag(v2); break; case v_3: convertView = LayoutInflater.from(context).inflate(R.layout.list3, null); v3.imageView3= (ImageView) convertView.findViewById(R.id.image3); v3.textView3= (TextView) convertView.findViewById(R.id.text3); convertView.setTag(v3); break; case v_4: convertView = LayoutInflater.from(context).inflate(R.layout.list4, null); v4.textView4_1= (TextView) convertView.findViewById(R.id.text4_1); v4.textView4_2= (TextView) convertView.findViewById(R.id.text4_2); convertView.setTag(v4); break; } } else { switch (type) { case v_1: v1= (ViewHolder1) convertView.getTag(); break; case v_2: v2= (ViewHolder2) convertView.getTag(); break; case v_3: v3= (ViewHolder3) convertView.getTag(); break; case v_4: v4= (ViewHolder4) convertView.getTag(); break; } } switch (type) { case v_1: if (position==0){ ImageLoader.getInstance().displayImage(user.getData().get(0).getImg().get(0).getCarouselUrl(),v1.imageView1); } break; case v_2: if (position==1){ v2.textView2.setText(user.getData().get(1).getBody().get(0).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(0).get(0).getUrl(),v2.imageView2); }else if (position==2){ v2.textView2.setText(user.getData().get(1).getBody().get(0).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(0).get(1).getUrl(),v2.imageView2); }else if (position==3){ v2.textView2.setText(user.getData().get(1).getBody().get(0).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(0).get(2).getUrl(),v2.imageView2); }else if (position==4){ v2.textView2.setText(user.getData().get(1).getBody().get(1).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(1).get(0).getUrl(),v2.imageView2); }else if (position==5){ v2.textView2.setText(user.getData().get(1).getBody().get(1).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(1).get(1).getUrl(),v2.imageView2); }else if (position==6){ v2.textView2.setText(user.getData().get(1).getBody().get(1).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(1).get(2).getUrl(),v2.imageView2); }else if (position==7){ v2.textView2.setText(user.getData().get(1).getBody().get(2).get(0).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(2).get(0).getUrl(),v2.imageView2); }else if (position==8){ v2.textView2.setText(user.getData().get(1).getBody().get(2).get(1).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(2).get(1).getUrl(),v2.imageView2); }else if (position==9){ v2.textView2.setText(user.getData().get(1).getBody().get(2).get(2).getCategoryTitle()); ImageLoader.getInstance().displayImage(user.getData().get(1).getBody().get(2).get(2).getUrl(),v2.imageView2); } break; case v_3: if (position==10){ v3.textView3.setText(user.getData().get(2).getNotice().get(0).getNoticeTitle()); ImageLoader.getInstance().displayImage(user.getData().get(2).getNotice().get(0).getPicture(),v3.imageView3); }else if (position==11){ v3.textView3.setText(user.getData().get(2).getNotice().get(1).getNoticeTitle()); ImageLoader.getInstance().displayImage(user.getData().get(2).getNotice().get(1).getPicture(),v3.imageView3); }else if (position==12){ v3.textView3.setText(user.getData().get(2).getNotice().get(0).getNoticeTitle()); ImageLoader.getInstance().displayImage(user.getData().get(2).getNotice().get(2).getPicture(),v3.imageView3); }else if (position==13){ v3.textView3.setText(user.getData().get(2).getNotice().get(3).getNoticeTitle()); ImageLoader.getInstance().displayImage(user.getData().get(2).getNotice().get(3).getPicture(),v3.imageView3); } break; case v_4: if (position==14){ v4.textView4_1.setText(user.getData().get(3).getCodeVersion().getVersion()); v4.textView4_2.setText(user.getData().get(3).getCodeVersion().getVersionId()+""); } break; } return convertView; } private class ViewHolder1 { ImageView imageView1; } private class ViewHolder2 { TextView textView2; ImageView imageView2; } private class ViewHolder3 { TextView textView3; ImageView imageView3; } private class ViewHolder4 { TextView textView4_1; TextView textView4_2; }}
0 0
- ListView分类加载
- ListView分类加载
- ListView分类加载
- Android ListView分类加载遇到的一些问题
- listView加载
- listview的分类,仿京东分类
- Android中ListView分类
- Android中ListView分类
- Android中ListView分类
- Android ListView 分类
- 简单listview分类
- Android:ListView分类显示
- Android:ListView分类
- ListView分类显示
- Android的分类ListView
- MarkDown 分类加载失败
- ListView分页加载,加载更多
- ListView分类显示的原理
- PAT团体程序设计天梯赛练习题GPLT11~20
- 【English】Slow Burn
- ARM基础 四、ARM编程模型
- 1004.Let the Balloon Rise
- 315. Count of Smaller Numbers After Self
- ListView分类加载
- Struts2+Hibernate+Spring整合
- POJ 2707 Copier Reduction G++
- 309. Best Time to Buy and Sell Stock with Cooldown
- TCP重传的次数和间隔时间
- 亚马逊 AWS 免费云服务操作流程
- HashSet是如何检查重复?
- 51nod 1202 子序列个数 (组合数学 +动态规划)
- hihoCoder#1032 : 最长回文子串