开发者社区> 问答> 正文

为什么有时我的上下文是超级活动

我有一个活动-> DashboardActivity我有一个超级活动-> MainActivity我有一个片段-> DashboardFragement

DashboardActivity扩展MainActivity,并且DashboardFragment从DashboardActivity加载

现在在我的片段中,我想使用通过接口进行回调,因此我的DashboardActivity还实现了一个在DashboardFragment中定义的接口,例如RefreshDashboard,并包含一个方法refresh()

签名:

class DashBoardActivity extends MainActivity implements RefreshDashboard

在片段的onAttach中,我这样做:

override fun onAttach(context: Context) {
        super.onAttach(context)
        if (context is RefreshDashboard)
            cont = context
    }

稍后,我会执行以下操作:

cont.refresh()

有时此cont为null,因为它引用了父活动---> MainActivity,而我的主要活动未实现RefreshDashboard

有时,这很好用。

据我了解,它应该始终是子活动---> DashboardActivity

我在这里想念什么吗?

展开
收起
Puppet 2019-12-05 12:53:05 276 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载