67、activity中调用fragment内部自定义的方法
fragment:
/** * author: Created by zzl on 15/11/19. */ @SuppressLint("validFragment") public class pushMealHistoryFragment extends Fragment { Context ctxt; View gridALl; public pushMealHistoryFragment(Context ctxt) { this.ctxt = ctxt; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { gridALl = inflater.inflate(R.layout.fragment_push_meal_history, null); return gridALl; } public void updateGridview() { final GridView gridviewHistory = (GridView)gridALl.findViewById(R.id.gridview_pushing_history); final Button btnBackground = (Button)gridALl.findViewById(R.id.empty_meal_done_history_gridview); ApisManager.getMealPushedHistory(CommonUtils.getFormatDate(0), new ApiCallback() { @Override public void success(final Object object) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { HandlerUtils.showToast(ctxt, "hello,i'm refreshing..."); List<PushHistoryFood> list = (List<PushHistoryFood>) object; PushHistoryAdapterr adapter = new PushHistoryAdapterr(ctxt, list); gridviewHistory.setAdapter(adapter); if (list.size() == 0) { btnBackground.setVisibility(View.VISIBLE); } else { btnBackground.setVisibility(View.INVISIBLE); } } }); } @Override public void error(BaseApi.ApiResponse response) { } }); } }
如果要在activity中调用上面的fragment的updateGridview方法,demo:
/** * author: Created by zzl on 15/11/19. */ public class PushMealActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mealdone); init(); } public void init() { Fragment fragmentPushMealHistory = new pushMealHistoryFragment(ctxt); //在这里调用fragmentPushMealHistory的updateGridview方法 ((pushMealHistoryFragment)fragmentPushMealHistory).updateGridview(); } }
2015.11.27更新:
根本原因是fragmentPushMealHistory定义的类型为Fragment,如果为pushMealHistoryFragment,则不需要做强制转换了
分类:
android应用开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?