1. 程式人生 > >多條目加載和適配器

多條目加載和適配器

stack lis getc isp package import array ace over

package com.bwie.adapters;

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.bwie.beans.News;
import com.bwie.xlistviewdemo1.R;

import java.util.ArrayList;

/**
* Created by Administrator on 2017/9/7.
*/

public class MyBaseAdapter extends BaseAdapter {
private Context context;
private ArrayList<News> news;

public MyBaseAdapter(ArrayList<News> news, Context context) {
this.news = news;
this.context = context;
}

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

@Override
public Object getItem(int position) {
return null;
}

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

//多條目的數量
@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) {
ViewHolder1 holder1;
ViewHolder2 holder2;
int rs = getItemViewType(position);//獲得當前條目使用的是第幾種條目
News newsObj = news.get(position);//得到要展示的數據
if(rs == 0){//第一種條目
if (convertView == null){
holder1 = new ViewHolder1();
convertView = View.inflate(context, R.layout.lsitview_item_1,null);
holder1.textView = (TextView) convertView.findViewById(R.id.mytitle);
convertView.setTag(holder1);
}else{
holder1 = (ViewHolder1) convertView.getTag();
}
//賦值
holder1.textView.setText(newsObj.getTitle());

}else if(rs == 1){//第二種條目
if (convertView == null){
holder2 = new ViewHolder2();
convertView = View.inflate(context, R.layout.listview_item_2,null);
holder2.textView = (TextView) convertView.findViewById(R.id.mytitle);
holder2.imageView = (ImageView) convertView.findViewById(R.id.imageView);
convertView.setTag(holder2);
}else{
holder2 = (ViewHolder2) convertView.getTag();
}
//賦值
holder2.textView.setText(newsObj.getTitle());
//通過imageloader加載圖片,顯示在次行
// ImageLoader.getInstance().displayImage(newsObj.getPicUrl(),holder2.imageView);
}


return convertView;
}

class ViewHolder1{
TextView textView;
}
class ViewHolder2{
TextView textView;
ImageView imageView;
}
}

//請求網絡的工具類

package com.bwie.xlistviewdemo1;

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/9/7.
*/

public class NetWorkUtils {
public String getJsonByUrlConnection(String jsonUrl){
String str = "";
try {
URL url = new URL(jsonUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
int resCode = conn.getResponseCode();
if(resCode == 200){
InputStream is = conn.getInputStream();
byte[] b = new byte[1024];
int len = 0;
while((len=is.read(b)) != -1){
str += new String(b,0,len);
}
}

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
}

多條目加載和適配器