gpt4 book ai didi

android - 在 fragment 中动态转换类类型

转载 作者:行者123 更新时间:2023-11-30 01:39:19 25 4
gpt4 key购买 nike

在 fragment 中我们有如下代码:

((DashboardActivity) getActivity()).getCurrentSession())

在上面的示例中,我们使用 DashboardActivitygetActivity 转换为类名,但我想使用类锥形字符串名称动态转换

我试过:

private Class<?> mSupperActivity;
if (StringClassname != null) {
try {
mSupperActivity = Class.forName(StringClassname);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

((mSupperActivity) getActivity())

但它给了我未知类类型的错误。

任何提示或帮助都会很棒。

最佳答案

引入一个接口(interface):

public interface SessionAware {
Session getCurrentSession();
}

在所有使用 Fragment 的 Activity 中实现它:

public class DashboardActivity implements SessionAware

并将 Activity 转换为接口(interface)类型以调用方法:

((SessionAware) getActivity()).getCurrentSession();

关于android - 在 fragment 中动态转换类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com