子布局
<com.stx.xhb.xbanner.XBanner
android:id="@+id/banner"android:layout_width="match_parent"
android:layout_height="200.0dip"
app:AutoPlayTime="3000"
app:pointNormal="@drawable/whit_shape"
app:pointSelect="@drawable/black_shape"
app:pointsContainerBackground="#44AAAAAA"
app:pointsPosition="CENTER"
app:tipTextColor="#FFFFFFFF"
app:tipTextSize="16.0sp" />
<com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/plv"
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_height="0dp"
android:layout_weight="7"
android:numColumns="auto_fit"
ptr:ptrAnimationStyle="flip"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF"></com.handmark.pulltorefresh.library.PullToRefreshListView>
主方法
private String path = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=15&page=";
private List<String> images = new ArrayList<>();
private int page = 1;
private int i;
private XBanner banner;
private HttpUtils httpUtils;
private PullToRefreshListView plv;
private Handler handler = new Handler();
private List<NewBean.DataBean> list = new ArrayList<>();
private MyBase adapter;
public static Fragment getinstance(String title) {
Fragment001 fragment001 = new Fragment001();
Bundle bundle = new Bundle();
bundle.putString("title",title);
fragment001.setArguments(bundle);
return fragment001;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Bundle arguments = getArguments();
if(arguments.get("title").equals("头条")) {
View view = inflater.inflate(R.layout.fragment001, container, false);
images.add("http://img2.imgtn.bdimg.com/it/u=783340072,1312243264&fm=214&gp=0.jpg");
images.add("http://imageprocess.yitos.net/images/public/20160910/99381473502384338.jpg");
images.add("http://imageprocess.yitos.net/images/public/20160910/77991473496077677.jpg");
images.add("http://imageprocess.yitos.net/images/public/20160906/1291473163104906.jpg");
plv = view.findViewById(R.id.plv);
banner = view.findViewById(R.id.banner);
initViews();
banner.setData(images, null);
// XBanner适配数据
banner.setmAdapter(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, View view, int position) {
Glide.with(getActivity()).load(images.get(position)).into((ImageView) view);
}
});
banner.setPageTransformer(Transformer.Default);
banner.setPageChangeDuration(1000);
return view;
}
return banner;
}
private void initViews() {
plv.setMode(PullToRefreshListView.Mode.BOTH);
final ILoadingLayout startloading = plv.getLoadingLayoutProxy(true, false);
startloading.setPullLabel("下拉刷新");
startloading.setRefreshingLabel("正在刷新");
startloading.setReleaseLabel("放开刷新");
ILoadingLayout endloading = plv.getLoadingLayoutProxy(false, true);
endloading.setPullLabel("下拉刷新");
endloading.setRefreshingLabel("正在刷新");
endloading.setReleaseLabel("放开刷新");
plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
page = 1;
getData();
handler.postDelayed(new Runnable() {
@Override
public void run() {
plv.onRefreshComplete();
}
},2000);
startloading.setLastUpdatedLabel("上次更新时间:"+new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
page = 1;
getData();
handler.postDelayed(new Runnable() {
@Override
public void run() {
plv.onRefreshComplete();
}
},2000);
}
});
adapter = new MyBase(getActivity(),list);
plv.setAdapter(adapter);
}
public void getData(){
httpUtils= HttpUtils.getInstance();
String url = path+page;
httpUtils.getdata(url);
httpUtils.setHttpListener(new HttpUtils.HttpListener() {
@Override
public void getjsondata(String json) {
//请求数据
Gson gson = new Gson();
NewBean newBean = gson.fromJson(json, NewBean.class);
List<NewBean.DataBean> data = newBean.getData();
//展示数据
if(page == 1){
list.clear();
}
list.addAll(data);
adapter.notifyDataSetChanged();
}
});
}
main方法
private RadioGroup group;
private FragmentManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
group = findViewById(R.id.group);
//添加点击监听事件
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.but1:
manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.frame,new Fragment01());
transaction.commit();
}
}
});
}