//Madapter 适配器
public class Xadapter extends BaseAdapter {
private final FragmentActivity activity;
private final List<MovieLoadimg.Result> mlist;
ImageView image;
public Xadapter(FragmentActivity activity) {
this.activity = activity;
mlist = new ArrayList<>();
}
public void setDate(List<MovieLoadimg.Result> obj) {
this.mlist.clear();
if (obj!=null){
this.mlist.addAll(obj);
}
notifyDataSetChanged();
}
public void addDate(List<MovieLoadimg.Result> obj) {
if (obj!=null){
this.mlist.addAll(obj);
notifyDataSetChanged();
}
}
@Override
public int getCount() {
return mlist.size();
}
@Override
public Object getItem(int position) {
return mlist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vh;
if (convertView==null){
vh = new ViewHolder();
convertView = View.inflate(activity, R.layout.item_list,null);
vh.image = convertView.findViewById(R.id.image);
vh.name = convertView.findViewById(R.id.name);
vh.summary = convertView.findViewById(R.id.summary);
convertView.setTag(vh);
}else {
vh = (ViewHolder) convertView.getTag();
}
vh.name.setText(mlist.get(position).getName());
vh.summary.setText(mlist.get(position).getSummary());
image = convertView.findViewById(R.id.image);
//加载图片
ImageLoader.getInstance().displayImage(mlist.get(position).getImageUrl(),
image,ImageLoaderonfigs.getimgoption(activity));
return convertView;
}
class ViewHolder{
public ImageView image;
TextView name,summary;
}
}
//MainActivity
class ChildAfragment extends android.support.v4.app.Fragment {
XListView xlistview;
Xadapter xadapter;
int page=1;
int i=0;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.childafrag, null);
//获取控件
xlistview = view.findViewById(R.id.xlistview);
//网络请求数据
//适配器
xadapter = new Xadapter(getActivity());
xlistview.setAdapter(xadapter);
//允许上拉
xlistview.setPullRefreshEnable(true);
xlistview.setPullLoadEnable(true);
//监听
xlistview.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
page=1;
loadData();
}
@Override
public void onLoadMore() {
loadData();
}
});
//进来就加载
loadData();
return view;
}
private void loadData(){
final String path="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=1";
new AsyncTask<String,Void,List<MovieLoadimg.Result>>(){
@Override
protected List<MovieLoadimg.Result> doInBackground(String... strings) {
String string = HttpUrlUtils.requestData(path);
//解析
MovieLoadimg movieLoadimg = new Gson().fromJson(string, MovieLoadimg.class);
return movieLoadimg==null?null:movieLoadimg.getResult();
}
@Override
protected void onPostExecute(List<MovieLoadimg.Result> results) {
//更新数据
update(results);
//完成
complete();
}
}.execute(path);
}
private void complete() {
page=1;
xlistview.stopRefresh();
xlistview.stopLoadMore();
}
private void update(List<MovieLoadimg.Result> obj) {
if (i==0){
xadapter.setDate(obj);
i++;
}else {
xadapter.addDate(obj);
}
}