XListView

//+++++TwoFragment+++++++

import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.xlistviewlib.XListView;
import com.google.gson.Gson;
import com.gx.rikao20181016.Adapter.MyAdapter;
import com.gx.rikao20181016.bean.Data;
import com.gx.rikao20181016.utils.NewWorkConnection;

import java.util.List;

public class TwoFragment extends Fragment {

private XListView xListView;
String path="http://172.17.8.100/mobile/exam/findNewList";
private MyAdapter myAdapter;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View inflate = inflater.inflate(R.layout.fragment_two, container, false);
    //找控件
    xListView = inflate.findViewById(R.id.xlistview);
    xListView.setPullLoadEnable(true);
    xListView.setPullLoadEnable(true);
    xListView.setXListViewListener(new XListView.IXListViewListener() {
        @Override
        public void onRefresh() {

        }

        @Override
        public void onLoadMore() {

        }
    });
    //创建子线程并且调用方法 返回结果
    new Thread(){
        @Override
        public void run() {
            super.run();
            //返回的结果字符串
            String string = NewWorkConnection.CallBackString(path);
            //通过handler传到主线程中解析并且更新IU
            Message message=new Message();
            message.what=0;
            message.obj=string;
            handler.sendMessage(message);
        }
    }.start();
    return inflate;
}
@SuppressLint("HandlerLeak")
Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what){
            case 0:
                String result1= (String) msg.obj;
                //解析
                Gson gson=new Gson();
                Data data = gson.fromJson(result1, Data.class);
                Data.ResultBean result = data.getResult();
                List<Data.ResultBean.DataBean> list = result.getData();

                myAdapter = new MyAdapter(getActivity(),list);
                xListView.setAdapter(myAdapter);
                break;
        }
    }
};

}
//++++++++++++++NewWorkConnection++++++++++++

import com.google.common.io.CharStreams;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class NewWorkConnection {
public static String CallBackString(String s){
try {
URL url=new URL(s);

        HttpURLConnection httpURLConnection= (HttpURLConnection) url.openConnection();

        httpURLConnection.setRequestMethod("GET");

        httpURLConnection.setConnectTimeout(5000);

        httpURLConnection.setReadTimeout(5000);

        httpURLConnection.connect();

        int responseCode = httpURLConnection.getResponseCode();

        if(responseCode==200){
            InputStream inputStream = httpURLConnection.getInputStream();

            String string = CharStreams.toString(new InputStreamReader(inputStream));

            return string;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return  null;
}

}
//布局
//+++++++++++fragment_two+++++++++++++

<?xml version="1.0" encoding="utf-8"?>

<com.example.xlistviewlib.XListView
    android:id="@+id/xlistview"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</com.example.xlistviewlib.XListView>
//++++++++++item+++++++++ <?xml version="1.0" encoding="utf-8"?>
<TextView
    android:id="@+id/itemtextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="11dp"
    android:text="dasdsa "
    android:textSize="30dp" />

<ImageView
    android:id="@+id/itemimageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="59dp"
    app:srcCompat="@mipmap/ic_launcher" />

<View
    android:id="@+id/itemview"
    android:layout_width="wrap_content"
    android:layout_marginTop="5dp"
    android:background="#22b4a1"
    android:layout_height="5dp"
    android:layout_below="@id/itemimageView"

/>

//+++++++itemtwo+++++++++++++

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/twoimageViewone"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginStart="46dp"
    android:layout_marginTop="44dp"
    app:srcCompat="@mipmap/ic_launcher" />

<ImageView
    android:id="@+id/twoimageViewtwo"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="44dp"
    app:srcCompat="@mipmap/ic_launcher" />

<ImageView
    android:id="@+id/twoimageViewthree"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:layout_marginTop="45dp"
    android:layout_marginEnd="47dp"
    app:srcCompat="@mipmap/ic_launcher" />

<TextView
    android:id="@+id/twotextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="136dp"
    android:text="TextView"
    android:textSize="30dp" />
<View
    android:id="@+id/twoview"
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:background="#28978c"
    android:layout_below="@id/twotextView"
    android:layout_marginTop="5dp"
    />
//+++++++++++++++适配器MyAdapter++++++++++ package com.gx.rikao20181016.Adapter;

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.gx.rikao20181016.R;
import com.gx.rikao20181016.bean.Data;
import com.squareup.picasso.Picasso;

import java.util.List;

public class MyAdapter extends BaseAdapter {

private Context context;
private List<Data.ResultBean.DataBean> list;

public MyAdapter(Context context, List<Data.ResultBean.DataBean> list) {
    this.context = context;
    this.list = list;
}

@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 View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder1 viewHolder1=null;
    ViewHolder2 viewHolder2=null;
    int type = getItemViewType(position);
    switch (type){
        case 0:
            if (convertView==null){
                viewHolder1=new ViewHolder1();
                convertView=View.inflate(context,R.layout.item,null);
                viewHolder1.textView=convertView.findViewById(R.id.itemtextView);
                viewHolder1.imageView=convertView.findViewById(R.id.itemimageView);
                viewHolder1.view=convertView.findViewById(R.id.itemview);
                convertView.setTag(viewHolder1);
            }
            else {
                viewHolder1= (ViewHolder1) convertView.getTag();
            }
            Data.ResultBean.DataBean dataBean = list.get(position);
            viewHolder1.textView.setText(""+dataBean.getAuthor_name());
            Picasso.with(context).load(dataBean.getThumbnail_pic_s()).into(viewHolder1.imageView);
            break;
        case 1:
            if (convertView==null){
                viewHolder2=new ViewHolder2();
                convertView=View.inflate(context,R.layout.itemtwo,null);
                viewHolder2.imageView=convertView.findViewById(R.id.twoimageViewone);
                viewHolder2.imageView2=convertView.findViewById(R.id.twoimageViewtwo);
                viewHolder2.imageView3=convertView.findViewById(R.id.twoimageViewthree);
                viewHolder2.textView=convertView.findViewById(R.id.twotextView);
                viewHolder2.view=convertView.findViewById(R.id.twoview);
                convertView.setTag(viewHolder2);
            }
            else {
                viewHolder2= (ViewHolder2) convertView.getTag();
            }
            break;
    }
    Data.ResultBean.DataBean dataBean = list.get(position);

    switch (type){
        case 0:
            viewHolder1.textView.setText(dataBean.getAuthor_name());
            Picasso.with(context).load(dataBean.getThumbnail_pic_s()).into(viewHolder1.imageView);
            break;
        case 1:
            viewHolder2.textView.setText(dataBean.getAuthor_name());
            Picasso.with(context).load(dataBean.getThumbnail_pic_s()).into(viewHolder2.imageView);
            Picasso.with(context).load(dataBean.getThumbnail_pic_s02()).into(viewHolder2.imageView2);
            Picasso.with(context).load(dataBean.getThumbnail_pic_s03()).into(viewHolder2.imageView3);
            break;
    }
    return convertView;
}
class ViewHolder1{
    TextView textView;
    ImageView imageView;
    View view;
}
class ViewHolder2{
    TextView textView;
    ImageView imageView,imageView2,imageView3;
    View view;
}
@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
    Data.ResultBean.DataBean dataBean = list.get(position);
    String type = dataBean.getType();
    if (type.equals("a")){
        return 0;
    }
    else {
        return 1;
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值