public class Fragment1 extends Fragment {
private PullToRefreshListView listView;
private Banner banner;
private List<String> image_list;
private int page = 1;
private List<HasNextBean.DataBean> lists = new ArrayList<>();
private MyBase adapter;
private NewsDao dao;
public static Fragment getinstance(String title){
//创建Fragment1
Fragment1 fragment1 = new Fragment1();
//创建bundle
Bundle bundle = new Bundle();
//添加值
bundle.putString("title",title);
//把值添加到Arguments中
fragment1.setArguments(bundle);
return fragment1;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmentone,container,false);
listView = view.findViewById(R.id.listview);
banner = view.findViewById(R.id.banner);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dao = new NewsDao(getActivity());
//得到值 当展示科技的时候 在进行显示控件
Bundle bundle = getArguments();
if(bundle.get("title").equals("科技")){
lunbo();
banner.setVisibility(View.VISIBLE);
listView.setVisibility(View.VISIBLE);
pull();
}
}
//轮播
//Viewpager
public void lunbo(){
Log.i("WWWWW","2222222");
HttpUtils.getdata("http://www.wanandroid.com/tools/mockapi/6523/article_channel_list", getActivity(), new InterfaceUtils() {
@Override
public void getJson(String json) {
Log.i("WWWWW",json);
//请求数据
Gson gson = new Gson();
ChannelsBean channelsBean = gson.fromJson(json, ChannelsBean.class);
List<ChannelsBean.DataBean.FocusListBean> focus_list = channelsBean.getData().getFocus_list();
//存放网络地址的集合
image_list = new ArrayList<String>();
//遍历集合存储
for (int i = 0;i < focus_list.size();i++){
image_list.add(focus_list.get(i).getImage_url());
Log.i("WWWWW",focus_list.get(i).getImage_url()+"");
}
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置图片加载器
banner.setImageLoader(new MyLoader());
//设置图片集合
banner.setImages(image_list);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
});
}
//上拉下拉
public void pull(){
String url = path+page+key;
HttpUtils.getdata(url, getActivity(), new InterfaceUtils() {
@Override
public void getJson(String json) {
//请求分页的数据
Gson gson = new Gson();
HasNextBean hasNextBean = gson.fromJson(json, HasNextBean.class);
if(page == 1){
lists.clear();
}
lists.addAll(data);
//将list集合的数据存入数据库进行缓存
for (int i = 0;lists.size()>0;i++){
String title = lists.get(i).getTitle();
String content = lists.get(i).getContent();
dao.add(title,content);
}
adapter.notifyDataSetChanged();
}
});
}
//设置PullToRefreshListView
public void initView(){
//设置刷新模式 ,both代表支持上拉和下拉,pull_from_end代表上拉,pull_from_start代表下拉
listView.setMode(PullToRefreshBase.Mode.BOTH);
/*这里通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别,第一个true 代表下来状态 ,第二个true 代表上拉的状态
如果想区分上拉和下拉状态的不同,可以分别设置*/
ILoadingLayout startLabels = listView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = listView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
page++;
pull();//请求数据
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
pull();
}
});
adapter = new MyBase(lists,getActivity());
listView.setAdapter(adapter);
}
class MyLoader extends ImageLoader{
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
}
private PullToRefreshListView listView;
private Banner banner;
private List<String> image_list;
private int page = 1;
private List<HasNextBean.DataBean> lists = new ArrayList<>();
private MyBase adapter;
private NewsDao dao;
public static Fragment getinstance(String title){
//创建Fragment1
Fragment1 fragment1 = new Fragment1();
//创建bundle
Bundle bundle = new Bundle();
//添加值
bundle.putString("title",title);
//把值添加到Arguments中
fragment1.setArguments(bundle);
return fragment1;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmentone,container,false);
listView = view.findViewById(R.id.listview);
banner = view.findViewById(R.id.banner);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dao = new NewsDao(getActivity());
//得到值 当展示科技的时候 在进行显示控件
Bundle bundle = getArguments();
if(bundle.get("title").equals("科技")){
lunbo();
banner.setVisibility(View.VISIBLE);
listView.setVisibility(View.VISIBLE);
pull();
}
}
//轮播
//Viewpager
public void lunbo(){
Log.i("WWWWW","2222222");
HttpUtils.getdata("http://www.wanandroid.com/tools/mockapi/6523/article_channel_list", getActivity(), new InterfaceUtils() {
@Override
public void getJson(String json) {
Log.i("WWWWW",json);
//请求数据
Gson gson = new Gson();
ChannelsBean channelsBean = gson.fromJson(json, ChannelsBean.class);
List<ChannelsBean.DataBean.FocusListBean> focus_list = channelsBean.getData().getFocus_list();
//存放网络地址的集合
image_list = new ArrayList<String>();
//遍历集合存储
for (int i = 0;i < focus_list.size();i++){
image_list.add(focus_list.get(i).getImage_url());
Log.i("WWWWW",focus_list.get(i).getImage_url()+"");
}
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置图片加载器
banner.setImageLoader(new MyLoader());
//设置图片集合
banner.setImages(image_list);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
});
}
//上拉下拉
public void pull(){
String url = path+page+key;
HttpUtils.getdata(url, getActivity(), new InterfaceUtils() {
@Override
public void getJson(String json) {
//请求分页的数据
Gson gson = new Gson();
HasNextBean hasNextBean = gson.fromJson(json, HasNextBean.class);
List<HasNextBean.DataBean> data = hasNextBean.getData();
lists.clear();
}
lists.addAll(data);
//将list集合的数据存入数据库进行缓存
for (int i = 0;lists.size()>0;i++){
String title = lists.get(i).getTitle();
String content = lists.get(i).getContent();
dao.add(title,content);
}
adapter.notifyDataSetChanged();
}
});
}
//设置PullToRefreshListView
public void initView(){
//设置刷新模式 ,both代表支持上拉和下拉,pull_from_end代表上拉,pull_from_start代表下拉
listView.setMode(PullToRefreshBase.Mode.BOTH);
/*这里通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别,第一个true 代表下来状态 ,第二个true 代表上拉的状态
如果想区分上拉和下拉状态的不同,可以分别设置*/
ILoadingLayout startLabels = listView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = listView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
page++;
pull();//请求数据
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
pull();
}
});
adapter = new MyBase(lists,getActivity());
listView.setAdapter(adapter);
}
class MyLoader extends ImageLoader{
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
}