Android:动态启动一个 Activity

标签 android android-intent

我想根据前一个 Activity 的输入动态启动一个 Activity 。我通过之前的 Activity 输入了一个字符串,唯一的问题是这个特定的代码抛出错误

无法解析构造函数“Intent(com.MentalMathWorkout.EasyCountDown, java.lang.String)”

有没有办法让它工作?

public class EasyCountDown extends AppCompatActivity {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ecd);

    Intent intent = getIntent();
    String test = intent.getStringExtra(MainActivity.TEST_TYPE);
    String cstring = ".class";
    final String activity = test.concat(cstring);

    Intent intent = new Intent(EasyCountDown.this, activity);
    startActivity(intent); //Start test
}

最佳答案

ComponentName 对象就是这样做的:

String activity = intent.getStringExtra(MainActivity.TEST_TYPE);
Intent intent = new Intent(this, new ComponentName(this, activity));
startActivity(intent);

假设 thisActivity 的一个实例。 (对于 Fragment,使用 getActivity(),obv。)

关于Android:动态启动一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37060519/

相关文章:

安卓工作室 : XML File (design tab) can't adjust size or position of TextView

android - 谷歌是否加强了 list 包名称的限制?

java - 在 Android Studio 中运行 YouTube Activity 时出错

Android - Tamagotchi 游戏后台服务

java - 从应用程序以全屏模式启动 Android 浏览器

android - 你将如何编写一个在 android 上使用的库?

android - 使用Retrofit +RxJava在请求之间传输数据

android - 我的 Logo 未显示在操作栏中的正确位置

android - 将不同的 Extras 传递给不同的 setDisplayIntent,但收到的是相同的

Android In App Updates - 无法在 AppUpdateInfo 中检测到更新