主页面的方法
private void init() {
new Thread(){
@Override
public void run() {
super.run();
try {
URL url=new URL("http://v.juhe.cn/toutiao/index?type=top&key=dbedecbcd1899c9785b95cc2d17131c5");
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
if (connection.getResponseCode()==200){
InputStreamReader inputStreamReader=new InputStreamReader(connection.getInputStream());
BufferedReader reader=new BufferedReader(inputStreamReader);
String str="";
String str1="";
while ((str=reader.readLine())!=null){
str1+=str;
}
Message message=new Message();
message.obj=str1;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
hander获取
private ArrayList<User.resultbase.database> list=new ArrayList<>();
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String srr= (String) msg.obj;
Gson gson=new Gson();
User user = gson.fromJson(srr, User.class);
list.addAll(user.getResult().getData());
MylistAdapter mylistAdapter=new MylistAdapter(getActivity(),list);
listView.setAdapter(mylistAdapter);
}
};
adapter界面
public class MylistAdapter extends BaseAdapter{
private Context context;
private ArrayList<User.resultbase.database> list=new ArrayList<>();
public MylistAdapter(Context context, ArrayList<User.resultbase.database> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public int getViewTypeCount() {
//有几个多条目,写几个多条目
return 2;
}
int type=0;
//判断使用第一个xml
@Override
public int getItemViewType(int position) {
if (list.get(position).getThumbnail_pic_s()!=null&&list.get(position).getThumbnail_pic_s02()!=null&&list.get(position).getThumbnail_pic_s03()!=null){
type=2;
}else if (list.get(position).getThumbnail_pic_s()!=null&&list.get(position).getThumbnail_pic_s02()==null&&list.get(position).getThumbnail_pic_s03()==null){
type=1;
}
return super.getItemViewType(position);
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (type==1){
ViewHolder2 holder2=null;
if (convertView==null){
holder2=new ViewHolder2();
convertView=View.inflate(context,R.layout.item_one2,null);
holder2.name2=convertView.findViewById(R.id.name2);
holder2.aimage2=convertView.findViewById(R.id.aimage2);
holder2.bimage2=convertView.findViewById(R.id.bimage2);
holder2.cimage2=convertView.findViewById(R.id.cimage2);
convertView.setTag(holder2);
}else {
holder2= (ViewHolder2) convertView.getTag();
}
holder2.name2.setText(list.get(position).getAuthor_name());
DisplayImageOptions options=new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.bitmapConfig(Bitmap.Config.ARGB_4444)
.displayer(new RoundedBitmapDisplayer(20))
.build();
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder2.aimage2,options);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),holder2.bimage2,options);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),holder2.cimage2,options);
}else {
ViewHolder1 holder1=null;
if (convertView==null){
holder1=new ViewHolder1();
convertView=View.inflate(context,R.layout.item_one1,null);
holder1.name1=convertView.findViewById(R.id.name1);
holder1.image1=convertView.findViewById(R.id.image1);
convertView.setTag(holder1);
}else {
holder1= (ViewHolder1) convertView.getTag();
}
holder1.name1.setText(list.get(position).getThumbnail_pic_s());
DisplayImageOptions options=new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.bitmapConfig(Bitmap.Config.ARGB_4444)
.displayer(new RoundedBitmapDisplayer(20))
.build();
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder1.image1,options);
}
return convertView;
}
class ViewHolder1{
TextView name1;
ImageView image1;
}
class ViewHolder2{
TextView name2;
ImageView aimage2,bimage2,cimage2;
}
}