fragment:

  1. /**
  2. * author: Created by zzl on 15/11/19.
  3. */
  4. @SuppressLint("validFragment")
  5. public class pushMealHistoryFragment extends Fragment {
  6.  
  7. Context ctxt;
  8. View gridALl;
  9. public pushMealHistoryFragment(Context ctxt)
  10. {
  11. this.ctxt = ctxt;
  12. }
  13.  
  14. @Nullable
  15. @Override
  16. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  17.  
  18. gridALl = inflater.inflate(R.layout.fragment_push_meal_history, null);
  19.  
  20. return gridALl;
  21. }
  22.  
  23. public void updateGridview()
  24. {
  25. final GridView gridviewHistory = (GridView)gridALl.findViewById(R.id.gridview_pushing_history);
  26. final Button btnBackground = (Button)gridALl.findViewById(R.id.empty_meal_done_history_gridview);
  27.  
  28. ApisManager.getMealPushedHistory(CommonUtils.getFormatDate(0), new ApiCallback() {
  29. @Override
  30. public void success(final Object object) {
  31.  
  32. getActivity().runOnUiThread(new Runnable() {
  33. @Override
  34. public void run() {
  35. HandlerUtils.showToast(ctxt, "hello,i'm refreshing...");
  36. List<PushHistoryFood> list = (List<PushHistoryFood>) object;
  37. PushHistoryAdapterr adapter = new PushHistoryAdapterr(ctxt, list);
  38. gridviewHistory.setAdapter(adapter);
  39. if (list.size() == 0) {
  40. btnBackground.setVisibility(View.VISIBLE);
  41. } else {
  42. btnBackground.setVisibility(View.INVISIBLE);
  43. }
  44. }
  45. });
  46.  
  47. }
  48.  
  49. @Override
  50. public void error(BaseApi.ApiResponse response) {
  51.  
  52. }
  53. });
  54. }
  55.  
  56. }

如果要在activity中调用上面的fragment的updateGridview方法,demo:

  1. /**
  2. * author: Created by zzl on 15/11/19.
  3. */
  4. public class PushMealActivity extends BaseActivity {
  5.  
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.mealdone);
  10. init();
  11. }
  12.  
  13. public void init()
  14. {
  15.  
  16. Fragment fragmentPushMealHistory = new pushMealHistoryFragment(ctxt);
  17. //在这里调用fragmentPushMealHistory的updateGridview方法
  18. ((pushMealHistoryFragment)fragmentPushMealHistory).updateGridview();
  19.  
  20. }
  21.  
  22. }

2015.11.27更新:

根本原因是fragmentPushMealHistory定义的类型为Fragment,如果为pushMealHistoryFragment,则不需要做强制转换了

67、activity中调用fragment内部自定义的方法的更多相关文章

  1. 在Activity中响应ListView内部按钮的点击事件

    最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在A ...

  2. 在Activity中响应ListView内部按钮的点击事件的两种方法!!!

    在Activity中响应ListView内部按钮的点击事件的两种方法 转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题: ...

  3. 在Activity中响应ListView内部按钮的点击事件的两种方法

    转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在 ...

  4. Android学习之在Adapter中调用Fragment

    •前言 在学习<第一行代码>,4.5 小节--一个简易版的新闻应用的时候: 在为 RecyclerView 创建适配器的时候: 作者直接在 NewsTitleFragment.java 中 ...

  5. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

  6. [Xcode 实际操作]九、实用进阶-(6)在Swift文件中调用Object-C的类和方法

    目录:[Swift]Xcode实际操作 本文将演示在Swift文件中调用Object-C的类和方法. 在项目文件夹[DemoApp]上点击鼠标右键 ->[New File]创建一个Object- ...

  7. Android在Activity中与Fragment中创建自定义菜单的区别

    区别就在这里,Activity中添加菜单要这样: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R ...

  8. 学习安卓开发[2] - 在Activity中托管Fragment

    目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Ac ...

  9. Android ViewPager+Fragment 在Activity中获取Fragment的控件

    如果ViewPager+Fragment实现Tab切换,在activity中利用adapter.getItem获取到fragment然后再根据fragment.的方法获取控件 //隐藏求租,以下代码用 ...

随机推荐

  1. [转]linux远程登入不需要密码

    如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料   ssh,ssh-keygen,scp 方法/步骤     ...

  2. jq动态增加的button标签click回调失效的问题,即动态增加的button标签绑定事件$("button.class").click(function)无效

    对于新增加的页面元素,改变了页面结构,如果是使用老办法$("button.class").click(function)去监听新的button标签事件,会失效. 笔者的应用是文字的 ...

  3. 更新KB915597补丁后导致“您的windows副本不是正版”的解决方案

    更新KB915597补丁后导致“您的windows副本不是正版”的解决方案 解决方法: 运行cw.exe(https://pan.lanzou.com/i05ya8h),直至提示成功: 重新启动操作系 ...

  4. WIN7_X64连接远程Oracle数据库

    当使用微软提供的驱动:Provider=MSDAORA时,要使用32位的Oracle客户端,不然会报错! 下载:Oracle Database Instant Client 11g x86

  5. 撸了个 django 数据迁移工具 django-supertube

    撸了个 django 数据迁移工具 django-supertube 支持字段映射和动态字段转化. 欢迎 star,issue https://github.com/FingerLiu/django- ...

  6. iOS 3DTouch 的开发套路大全

    今天休息,先来无事就自己看了一下,关于3d touch,看完后自己有动手尝试了一下,感觉也并不是很难, 经过大量的搜索,目前为止,发现有三种实现方式: 第一种:info文件中添加字段 这种方式,最为直 ...

  7. 基础I/O

    基础IO: c库文件IO操作接口:(详细查看c语言中的文件操作函数总结:https://www.cnblogs.com/cuckoo-/p/10560640.html) fopen 打开文件 fclo ...

  8. IntelliJ IDEA中激活JRebel插件

    1. 下载激活软件:https://github.com/ilanyu/ReverseProxy/releases/tag/v1.0 我下载的是 2. 双击文件运行 3. 点击change licen ...

  9. windows 安装nodejs及配置服务

    一.什么是nodejs Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.N ...

  10. CentOS7下Mysql5.7安装

    下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.no ...