java - 在 Android 中使用反射

标签 java android reflection

我尝试按以下方式使用反射(尝试将类名存储在变量中)

String ClassName="";
if(someConditoin)
    ClassName="MyFragment";
else
    ClassName="MyAnotherFragment";

fragmentManager.beginTransaction().setCustomAnimations(R.animator.translate_fragment_left_to_right, R.animator.translate_fragment_source_left_to_right)
                            .replace(R.id.container, new ClassName())
                            .commit();

这样的事情可能吗?将动态确定要使用的 fragment 。应该对这种类型的功能有一些支持。

最佳答案

Class.forName(ClassName).newInstance()

当然,ClassName 需要是完全限定名称。

或者,为什么不在 if 语句中创建正确的对象?

关于java - 在 Android 中使用反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29161850/

相关文章:

c# - 使用 Mono.Cecil 查找类型层次结构程序集

java - 在哪里放置配置文件?

java - 使用控制台使用git,使用IDE(Eclipse)开发时需要考虑哪些事项?

java - 通过hibernate比较sql server中的时间

java - 在 Android 中以位图、jpeg 或 png 图像形式查看 PowerPoint XML

java - 使用一种标识来处理多个监听器

javascript - 是否可以将 Scala 编译(转译)到浏览器,同时保持解释用户动态提供的 Scala 代码的能力?

Java 私有(private)静态最终字段和匿名内部类与 Kotlin const val 和对象表达式/声明

android - 由于 .dex 文件错误,我无法构建我的应用程序。 (安卓)

c# - 使用反射比较泛型参数类型