4.8.4 在Android 中fragment中获取上下文
2016-02-27 11:51
639 查看
View ret = inflater.inflate(R.layout.fragment_liebie,container,false);
然后 使用 ret.getContext() 就可以了。
++++++++++++++++++++++++++++++++++++++++++++++
public class LeiBieFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener, Callback<LeiBieEntity> { private LeiBieAdapter adapter; private ImageView refresh; private final static int REFRESH=1; private SwipeRefreshLayout swipeRefreshLayout;//下拉刷新 private Handler handler; private ProgressBar progressBar; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View ret = inflater.inflate(R.layout.fragment_liebie,container,false); //获取recyclerView,并且设置adapter RecyclerView recyclerView = (RecyclerView) ret.findViewById(R.id.leibie_recycleView); adapter = new LeiBieAdapter(ret.getContext(),new ArrayList<LeiBieEntity.DataEntity.ReturnDataEntity.RankinglistEntity>()); recyclerView.setAdapter(adapter); //获取progressBar progressBar = (ProgressBar) ret.findViewById(R.id.leibie_progressbars); //初始化主线程的handler,为了防止第一次加载的时候有问题,将这个 加载设置为可以刷新的 handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch(msg.what){ case REFRESH: run(); break; } } }; Message message = new Message(); message.what=REFRESH; handler.sendMessage(message); //获取下拉刷新的组建SwipeRefreshLayout,并且设置监听方法 swipeRefreshLayout= (SwipeRefreshLayout)ret.findViewById(R.id.leibie_swiperefreshlayout); swipeRefreshLayout.setOnRefreshListener(this); return ret; } //handler 里面调用的方法,就是通过HttpUtils请求网络数据, public void run(){ HttpUtils.getLeiBieService().getLeiBie(1446).enqueue(this); } //HttpUtils请求成功后进行的处理,包括,将ProgressBar 设置不现实,将下拉刷新停止回收回去 //更新adapter的数据,从而更新recyclerView @Override public void onResponse(Response<LeiBieEntity> response, Retrofit retrofit) { //将ProgressBar 设置不现实,将下拉刷新停止回收回去 progressBar.setVisibility(View.GONE); swipeRefreshLayout.setRefreshing(false); //获取返回的数据,将该数据更新到adapter 中去, LeiBieEntity.DataEntity data = response.body().getData(); List<LeiBieEntity.DataEntity.ReturnDataEntity.RankinglistEntity> rankinglist = data.getReturnData().getRankinglist(); adapter.addAll(rankinglist); } //网络请求失败 @Override public void onFailure(Throwable t) { progressBar.setVisibility(View.GONE); swipeRefreshLayout.setRefreshing(false); t.printStackTrace(); Toast.makeText(getContext(),"网络调皮了",Toast.LENGTH_LONG).show(); } //下拉刷新的时候执行,给主线程的handler传递一个message @Override public void onRefresh() { Message message = new Message(); message.what=REFRESH; handler.sendMessage(message); } }
相关文章推荐
- Android LayoutInflater详解
- android mvp快速开发框架介绍(dileber使用之图片下载工具)
- android中XML文件
- 关于android应用获取SHA-1的值
- android Service详解
- Android EditText中的inputType详解
- Android framework开发全局系统属性设置与获取
- Android手机号码归属地的查询(使用聚合数据API,获取JSON数据并解析)
- Android WIFI 启动流程(TIP^^)
- Android系统目录下 各jar包作用
- 【Android】13.4 使用SQLite.NET.Async-PCL访问SQLite数据库
- Android DownloadManager 的使用
- Android概念(持续整理)
- android.support:recyclerview-v7:23.2.0终于支持自动测量了!!!
- 如何查看android应用签名文件的信息
- Android中EditText输入框焦点从文字前面变成文字后面
- Android 如何让EditText不自动获取焦点
- Android即时通讯--仿QQ即时聊天:(二)闪屏页及登录页面的实现
- 你还在问android横竖屏切换的生命周期?
- Android文件下载之进度检测