Adapter
package com.example.test01.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.example.test01.Bean.MyloadBean;
import com.example.test01.R;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.List;
public class MyloadAdapter extends BaseAdapter {
private static final int Count = 2;
private List<MyloadBean.Result01> list;
private Context context;
private int TYPE01=0;
private int TYPE02=1;
public MyloadAdapter(Context context) {
this.context = context;
list = new ArrayList<>();
}
public void setList(List<MyloadBean.Result01> lists) {
list.clear();
if(lists!=null){
list.addAll(lists);
}
notifyDataSetChanged();
}
public void addList(List<MyloadBean.Result01> lists) {
if(lists!=null){
list.addAll(lists);
}
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
return position%2;
}
@Override
public int getViewTypeCount() {
return Count;
}
@Override
public int getCount() {
return list.size();
}
@Override
public MyloadBean.Result01 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) {
ViewHolder viewHolder;
if(convertView==null){
viewHolder = new ViewHolder();
convertView = View.inflate(context,
getItemViewType(position)==TYPE01?R.layout.item02:R.layout.item01,
null);
viewHolder.t_summary=convertView.findViewById(R.id.item01_summary);
viewHolder.urlImager=convertView.findViewById(R.id.item01_image);
viewHolder.id=convertView.findViewById(R.id.item02_id);
viewHolder.name=convertView.findViewById(R.id.item02_name);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
if(getItemViewType(position)==TYPE01){
viewHolder.id.setText(list.get(position).getId());
viewHolder.name.setText(list.get(position).getName());
}
if(getItemViewType(position)==TYPE02){
viewHolder.t_summary.setText(list.get(position).getSummary());
ImageLoader.getInstance().displayImage(list.get(position).getImageUrl(),viewHolder.urlImager);
}
return convertView;
}
class ViewHolder{
TextView id,name;
TextView t_summary;
ImageView urlImager;
}
}
Activity
package com.example.test01.Fragment.Dianying_Fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
import com.example.test01.Adapter.MyloadAdapter;
import com.example.test01.Bean.MyloadBean;
import com.example.test01.R;
import com.example.test01.Utils.Utils;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
public class ZhengZai_Fragment extends Fragment {
private int mPage;
private MyloadAdapter adapter;
private PullToRefreshListView listView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.dian_shangying,container,false);
}
private String urlStr="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=%d";
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
listView = view.findViewById(R.id.zheng_pull);
adapter = new MyloadAdapter(getActivity());
listView.setAdapter(adapter);
listView.setMode(PullToRefreshBase.Mode.BOTH);
mPage=1;
initData();
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
mPage=1;
initData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
initData();
}
});
initData();
}
private void initData() {
Utils.getInstance().getRequest03(String.format(urlStr,mPage),MyloadBean.class, new Utils.netCallBack<MyloadBean>() {
@Override
public void onSuceescc(MyloadBean o) {
//
if(o==null){
Toast.makeText(getActivity(),"数据请求错误,请重试",Toast.LENGTH_SHORT).show();
return;
}
if(mPage==1){
adapter.setList(o.getResult());
}else{
adapter.addList(o.getResult());
}
mPage++;
listView.onRefreshComplete();
}
});
}
}