package bwei.com.day_0517_123;
//多条目加载的页面
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import bwei.com.day_0517_123.adapter.MyBase;
import bwei.com.day_0517_123.bean.SheHuiBean;
import bwei.com.day_0517_123.https.ConHttp;
import bwei.com.day_0517_123.utils.HttpUtils;
import bwei.com.day_0517_123.view.XListView;
import static android.content.ContentValues.TAG;
public class Fragment01 extends Fragment implements XListView.IXListViewListener{
private XListView f1_xlistview;
private MyBase myBase;
private List<SheHuiBean.NewslistBean> list=new ArrayList<>();
private int page=10;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment01, container, false);
//获取id
f1_xlistview = view.findViewById(R.id.f1_xlistview);
f1_xlistview.setPullLoadEnable(true);
f1_xlistview.setPullRefreshEnable(true);
//设置监听
f1_xlistview.setXListViewListener(this);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//创建适配器
myBase = new MyBase(getActivity(),list);
f1_xlistview.setAdapter(myBase);
//请求网络
getDataForNet();
}
// 请求网络数据
public void getDataForNet() {
HttpUtils instance = HttpUtils.getInstance();
String url_01=ConHttp.SHEHUI_URL+"key=48a7d7193e11bd2dd4a683b6e2f90a4f&num="+page;
instance.get(url_01);
instance.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
SheHuiBean sheHuiBean = gson.fromJson(json, SheHuiBean.class);
List<SheHuiBean.NewslistBean> list1 = sheHuiBean.getNewslist();
if(page==10){
list.clear();
f1_xlistview.stopRefresh();
}
list.addAll(list1);
//刷新是、适配器
myBase.notifyDataSetChanged();;
f1_xlistview.stopLoadMore();;
}
@Override
public void getError(String error) {
Log.d(TAG, "getError: "+error);
}
});
}
//监听事件
//刷新
@Override
public void onRefresh() {
page=10;
getDataForNet();
}
//加载更多
@Override
public void onLoadMore() {
page+=10;
getDataForNet();
}
}
//适配器
package bwei.com.day_0517_123.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.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
import bwei.com.day_0517_123.MyApp;
import bwei.com.day_0517_123.R;
import bwei.com.day_0517_123.bean.SheHuiBean;
public class MyBase extends BaseAdapter {
private Context context;
private List<SheHuiBean.NewslistBean> list;
public MyBase(Context context, List<SheHuiBean.NewslistBean> 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) {
int type = getItemViewType(position);
switch (type) {
case 0:
ViewHolderLeft left;
if (convertView == null) {
convertView = View.inflate(context, R.layout.mybase_left, null);
left = new ViewHolderLeft();
left.left_img = (ImageView) convertView.findViewById(R.id.left_img);
left.left_text = (TextView) convertView.findViewById(R.id.left_text);
convertView.setTag(left);
} else {
left = (ViewHolderLeft) convertView.getTag();
}
//加载网络图片
String pic1 = list.get(position).getPicUrl();
ImageLoader.getInstance().displayImage(pic1, left.left_img, MyApp.getOptions());
left.left_text.setText(list.get(position).getTitle());
break;
case 1:
ViewHolderRight right;
if (convertView == null) {
convertView = View.inflate(context, R.layout.mybase_rigth, null);
right = new ViewHolderRight();
right.right_img = (ImageView) convertView.findViewById(R.id.right_img);
right.right_text = (TextView) convertView.findViewById(R.id.right_text);
convertView.setTag(right);
} else {
right = (ViewHolderRight) convertView.getTag();
}
//加载网络图片
String pic2 = list.get(position).getPicUrl();
ImageLoader.getInstance().displayImage(pic2, right.right_img, MyApp.getOptions());
right.right_text.setText(list.get(position).getTitle());
break;
}
return convertView;
}
class ViewHolderLeft {
ImageView left_img;
TextView left_text;
}
class ViewHolderRight {
ImageView right_img;
TextView right_text;
}
}