Fragment传值-ImagView轮播
来源:互联网 发布:淘宝悠悠球店铺 编辑:程序博客网 时间:2024/06/07 16:33
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
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.ImageView;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.yuekao_lianxi2.R;
import com.yuekao_lianxi2.Util.ImageLoaderUtil;
import com.yuekao_lianxi2.Util.JsonCallBack;
import com.yuekao_lianxi2.Util.NetDataUtil;
import com.yuekao_lianxi2.adapter.MyAdapter;
import com.yuekao_lianxi2.bean.AllContent;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by 李欣 on 2017/10/25.
*/
public class Fragment_right_GridView extends Fragment implements PullToRefreshBase.OnRefreshListener2{
private PullToRefreshGridView refresh_grid_view;
private ImageView gv_img;
private MyAdapter adapter;
List<String> urllist = new ArrayList<>();//存放图片url的集合
List<AllContent.ResultBean.DataBean> list = new ArrayList<>();
int index = 0;//存放轮播图的索引
int pagenum = 1;//存放页数的索引
String name = "土豆";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_right_gridview, container, false);
refresh_grid_view = (PullToRefreshGridView) view.findViewById(R.id.refresh_grid_view);
gv_img = (ImageView) view.findViewById(R.id.gv_img);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//轮播图
lunbo();
//默认显示
FristShowData();
//设置刷新模式
refresh_grid_view.setMode(PullToRefreshBase.Mode.BOTH);
//设置刷新提示
ILoadingLayout startLabels = refresh_grid_view
.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在刷新...");
startLabels.setReleaseLabel("放开刷新...");
//加载提示
ILoadingLayout endLabels = refresh_grid_view.getLoadingLayoutProxy(
false, true);
endLabels.setPullLabel("上拉加载");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
//设置监听
refresh_grid_view.setOnRefreshListener(this);
}
//接收fragment_left传过来的值
public void setname(String name){
this.name = name;
}
//下拉刷新
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
FristShowData();
}
//上拉加载
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
loadMore();
}
//加载更多的方法
public void loadMore(){
pagenum++;
try {
String path = "http://apis.juhe.cn/cook/query?key=65481ae0fb17703c15a794aebaec93c5&menu="+URLEncoder.encode(name,"utf-8")+"&rn=9&pn="+pagenum;
NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
@Override
public void getjson(String json) {
Gson gson = new Gson();
AllContent allContent = gson.fromJson(json, AllContent.class);
list.addAll(allContent.getResult().getData());//将数据全部添加到集合中
setadapter();//设置适配器
refresh_grid_view.onRefreshComplete();//停止加载
}
});
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
//刷新的方法
public void FristShowData() {
try {
String path = "http://apis.juhe.cn/cook/query?key=65481ae0fb17703c15a794aebaec93c5&menu="+URLEncoder.encode(name,"utf-8")+"&rn=9&pn="+pagenum;
NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
@Override
public void getjson(String json) {
Gson gson = new Gson();
AllContent allContent = gson.fromJson(json, AllContent.class);
list.clear();//清空集合
list.addAll(0,allContent.getResult().getData());//将数据全部被添加到集合中
setadapter();//设置适配器
refresh_grid_view.onRefreshComplete();//停止刷新
//设置上次刷新时间
Date date = new Date(System.currentTimeMillis());
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String time = sdf.format(date);
refresh_grid_view.setLastUpdatedLabel("上次刷新时间:"+time);
}
});
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
//适配器
private void setadapter() {
if (adapter == null) {
//创建适配器
adapter = new MyAdapter(getActivity(), list);
//设置适配器
refresh_grid_view.setAdapter(adapter);
} else {
//刷新适配器
adapter.notifyDataSetChanged();
}
}
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what == 0){
index++;
ImageLoader.getInstance().displayImage(urllist.get(index%urllist.size()),gv_img, ImageLoaderUtil.getdefaultoption());
handler.sendEmptyMessageDelayed(0,2000);
}
}
};
//轮播
private void lunbo() {
String path = "http://apis.juhe.cn/cook/query?key=65481ae0fb17703c15a794aebaec93c5&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=9&pn="+pagenum;
NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
@Override
public void getjson(String json) {
Gson gson = new Gson();
AllContent allContent = gson.fromJson(json, AllContent.class);
List<AllContent.ResultBean.DataBean> data = allContent.getResult().getData();
List<AllContent.ResultBean.DataBean.StepsBean> steps = data.get(0).getSteps();
for (AllContent.ResultBean.DataBean.StepsBean step: steps) {
urllist.add(step.getImg());
}
//第一次显示
ImageLoader.getInstance().displayImage(urllist.get(0),gv_img, ImageLoaderUtil.getdefaultoption());
//使用handler发送延时消息
handler.sendEmptyMessageDelayed(0,2000);
}
});
}
}
package com.yuekao_lianxi2.fragment;
import android.os.Bundle;
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.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.yuekao_lianxi2.R;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 李欣 on 2017/10/25.
*/
public class Fragment_Left_ListView extends Fragment {
private ListView lv;
private List<String> list;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_left_listview, container, false);
lv = (ListView) view.findViewById(R.id.lv);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//设置数据
list = new ArrayList<>();
list.add("西红柿");
list.add("土豆");
list.add("西芹");
list.add("西葫芦");
list.add("豆角");
list.add("青椒");
list.add("丝瓜");
list.add("黄瓜");
list.add("香菇");
list.add("油麦");
list.add("上海青");
list.add("红薯");
list.add("洋葱");
//设置适配器
lv.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1, list));
//条目点击事件
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String name = list.get(i);
Fragment_right_GridView f2 = (Fragment_right_GridView) getActivity().getSupportFragmentManager().findFragmentByTag("f2");
f2.setname(name);
f2.FristShowData();
}
});
}
}
- Fragment传值-ImagView轮播
- fragment ,轮播 实现
- Fragment 里面的轮播
- 轮播与fragment联动
- drawerlayout+tablelayout+fragment+轮播
- 子fragment无限轮播
- viewpager+fragment最简单的轮播
- Activity Fragment 相关 ViewPager轮播 相关
- fragment+Xlistview+viewpager无限轮播+imageloader
- 综合练习(轮播+Fragment+xlistView)
- 京东fragment和无限轮播
- Fragment+Fragment上的自动无限轮播+XListView
- 小圆点和Viewpager+fragment实现轮播
- ViewPage+Fragment+ListView+ImageLoade的无限轮播
- 侧拉+pullToRefresh+无限轮播+tabLayout+fragment
- ImagView控件
- 在fragment中用ViewFlipper做网络图片轮播手动+自动+点击事件
- Android fragment中广告图片轮播效果的实现(附图 )
- 触发器建表方法
- Struts 拦截器 、
- 开发8年总结下
- Struts2的动态调用的三种方式
- Spring-Boot 使用手记
- Fragment传值-ImagView轮播
- 浅 浅谈原码、补码和反码
- win7系统配置简单web服务器
- ActiveMQ使用spring JmsTemplate发送消息(一)
- vue-amap圆形编辑完获取半径中心点
- Windows窗口消息大全
- Eclipse调试时查看全部Console内容
- 替换空格(字符串)
- springboot 打包发布到tomcat填坑记录