xlistview加多条目

@ContentView(R.layout.activity_main)
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
    @ViewInject(R.id.xlistview)
    private XListView mxlist;  
    private String path = "http://www.93.gov.cn/93app/data.do?channelId=1&startNum=1";
    private List<Data.DataBean> mlist;
    private Myadapter myadapter;
 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        x.view().inject(this);
        initview();
        loadData();
    }

    private void loadData() {
        RequestParams params = new RequestParams(path);
        x.http().get(params, new Callback.CommonCallback<String>() {
            @Override
            public void onSuccess(String result) {
                Data data = new Gson().fromJson(result,Data.class);
                mlist.addAll(data.getData());
                myadapter.notifyDataSetChanged();
                stopxlistview();
            }


            @Override
            public void onError(Throwable ex, boolean isOnCallback) {

            }

            @Override
            public void onCancelled(CancelledException cex) {

            }

            @Override
            public void onFinished() {

            }
        });

    }

 private void initview() {
        mlist = new ArrayList<>();
        mxlist.setXListViewListener(this);
        mxlist.setPullLoadEnable(true);
        myadapter = new Myadapter(MainActivity.this,mlist);
        mxlist.setAdapter(myadapter);

}

  private void stopxlistview() {
        mxlist.stopLoadMore();
        mxlist.stopRefresh();
        mxlist.setRefreshTime("刚刚");
    }

    @Override
    public void onRefresh() {
        mlist.clear();
        loadData();
    }

    @Override
    public void onLoadMore() {
        loadData();

    }


//adapter适配器

public class Myadapter extends BaseAdapter {
    private List<Data.DataBean> mlist;
    private Context context;
    final int TYPE_1 = 0;
    final int TYPE_2 = 1;
    private final ImageOptions options1;

    public Myadapter(Context context, List<Data.DataBean> mlist) {
        this.mlist = mlist;
        this.context = context;

        options1 = new ImageOptions.Builder()
                .setSize(300, 400)
                .setFailureDrawableId(R.mipmap.ic_launcher)
                .setLoadingDrawableId(R.mipmap.ic_launcher)
                .setRadius(10)
                .build();
    }
    @Override
    public int getCount() {
        return mlist.size();
    }

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        int type = getItemViewType(position);
        if(convertView == null){
            holder = new ViewHolder();

            switch (type) {
                case TYPE_1:
                    convertView = View.inflate(context, R.layout.one, null);
                    //x.view().inject(holder,convertView);
                    break;
                case TYPE_2:
                    convertView = View.inflate(context, R.layout.two, null);

                    break;
                default:
                    break;
            }
            x.view().inject(holder,convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        switch (type) {
            case TYPE_1:
               holder.name.setText(mlist.get(position).getSUBTITLE());
                break;
            case TYPE_2:
                holder.names.setText(mlist.get(position).getSUBTITLE());
                x.image().bind(holder.images, (String) mlist.get(position).getIMAGEURL(),options1);
                break;
        }
        return convertView;
    }
    public int getViewTypeCount() {

        return 2;
    }
    @Override
    public int getItemViewType(int position) {

        int p = position % 6;
        if (p == 0)
            return TYPE_1;
        else if (p < 3)
            return TYPE_2;
        else
            return TYPE_1;
    }
    class ViewHolder{
        @ViewInject(R.id.images)
        ImageView images;
        @ViewInject(R.id.name)
        TextView name;
        @ViewInject(R.id.names)
        TextView names;

    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值