java - 如何使用变量来启动新的 Intent

标签 java android android-intent

我有一个变量:

String MyClass = "MyClass"

我想在这里使用它:

Intent intent = new Intent(this, MyClass.class);
startActivity(intent);

或:

Intent intent = new Intent(this, MyClass.ToString().class);
startActivity(intent);

它不起作用...如何将 MyClass 的值传递给 Intent 构造函数?

最佳答案

首先,Java 的命名约定是变量应以小写字母开头,类应以大写字母开头。这会使您的代码变得困惑,因为看起来您正在指定一个类,但实际上您没有。

事实上,正确的答案是使用 Class.forName() 将您的 String 更改为 Class 对象:

Class<?> newActivityClass = Class.forName(myPackage + "." + myClass);
startActivity(new Intent (this, newActivityClass));

有些异常需要您适本地捕获和处理。

关于java - 如何使用变量来启动新的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688355/

相关文章:

java - Arrays.Sort 到底是如何工作的?

java - 需要检查 gps 是否启用

方波上的android音频失真

android - 致命异常 : ThumbnailManager-1 while sharing images to Intent

java - hprof 探查器输出不包括行号,无论 `lineno` 值如何

java - 在 Salesforce 的实体选项卡中创建自定义页面 block

java - Android:XmlPullParserFactory.newInstance 说找不到符号类 newInstance

android - 对Android设备上的文件系统感到困惑

android - 为什么 Intent 在 AlertDialog.Builder 之前启动,即使它的编码方式相反

java - 从 2 个不同的 Activity 启动相同的 Activity 并更新数据