java - 将 String 转换为 Activity 类

标签 java android string class android-activity

我正在尝试从一个字符串创建一个 Activity 类并将它传递给一个静态方法。我在 SO 上找到了将字符串传递给类的方法。 FirstActivity 已创建。

第二个 Activity

String myClass = "com.package.FirstActivity";
Class<?> myClass = Class.forName(myClass);
//this works
//Intent myIntent = new Intent(getApplicationContext(), myClass);
//I want to pass to a static method, but it gives a error. Class cannot cast to Activity
StaticMethod.processThis(myClass , "test");

静态方法

public static void processThis(Activity contextActivity, String str) {
     //do processing
}

如何让 processThis 工作?如果我没理解错的话,一个Activity也是一个类?

最佳答案

您需要创建一个新的 FirstActivity 实例。如果此类具有不带参数的构造函数,您可以执行以下操作:

String myClass = "com.package.FirstActivity";
Class<?> myClass = Class.forName(myClass);
Activity obj = (Activity) myClass.newInstance();
Intent myIntent = new Intent(getApplicationContext(), myClass); //Maybe here also obj must be needed

//Noe pass your object here
StaticMethod.processThis(obj, "test");

关于java - 将 String 转换为 Activity 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7941378/

相关文章:

android - 从 AsyncTask 显示 Toast 直到事件发生

java - 在 Java 中将字符串分成多个部分的安全方法是什么?

iOS swift : Get user selected phone number from CNContactProperty as a string

java - XIMA Formcycle 图像预览问题

java - 如何从 Quickblox 中的消息中检索用户名?

java - 关于 Hudson 中 Java 编译的问题

java - 用 Java 改变我的 Android 应用的整体风格

python - Grep 多层可迭代的字符串匹配(Python)

java - 复制 Mp3 文件

java - 递归类型转换jackson json解析器