首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在适配器中获取活动- Java中的Android studio

在适配器中获取活动- Java中的Android studio
EN

Stack Overflow用户
提问于 2019-08-02 23:18:06
回答 2查看 44关注 0票数 0

我是一个新手开发人员,我正在尝试使用Heyzap / Fyber广告中介,我需要一些帮助:

我有一个用于RecyclerView的Adapter类(不是Activity)。

我一直在很多地方使用view.getContext()作为上下文,但现在它要求“活动”。

这个适配器类包含两个OnClickListeners,我需要在其中插入以下内容:

代码语言:javascript
复制
InterstitialAd.display(// I need to insert "Activity" here);

我被试过:

代码语言:javascript
复制
this
Activity.this (constructor & adapter)
Activity.class (constructor & adapter)
view.getActivity()


///And 999x other combinations.
EN

回答 2

Stack Overflow用户

发布于 2019-08-02 23:28:58

我建议使用一个接口来与activity进行通信。这样,您就可以将与视图"onClick“相关的所有代码转移到活动/片段层本身,在那里它们应该是IMO。

下面是一个关于相同https://android.jlelse.eu/click-listener-for-recyclerview-adapter-2d17a6f6f6c9的教程

票数 2
EN

Stack Overflow用户

发布于 2019-08-02 23:24:51

上下文可以是一个活动,所以你可以对其进行强制转换。更好的是,首先测试它以确保它是一个活动,然后再转换它。您可以创建一个helper方法来为您完成这项工作:

代码语言:javascript
复制
private static Activity getActivity(View view) {
    if (view.getContext() instanceof Activity) {
        return (Activity)view.getContext();
    }
    return null;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57329346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档