gpt4 book ai didi

java - 如何在 Intent 构造函数中使用 .class 连接 Java 字符串?

转载 作者:搜寻专家 更新时间:2023-11-01 07:58:36 24 4
gpt4 key购买 nike

我正在尝试创建一个带有按钮的菜单,这些按钮将在给定相应按钮 ID(即 Home1 按钮、Home2 按钮)的情况下启动 Activity 类:

public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case R.id.menu_home1:
launchActivity("Home1");
break;
case R.id.menu_home2:
launchActivity("Home2");
break;
}
return super.onOptionsItemSelected(item);
}

public void launchActivity(String activityName) {
Intent intent = new Intent(this, activityName + ".class");
startActivity(intent);
}

但是,我在尝试构建 Intent 时收到“无法解析构造函数”。如何编写 Intent 构造函数来动态构造新的 Activity 参数?

最佳答案

你可以通过创建这样的方法来做你想做的事:

private void startActivity(Class<?> cls) {
Intent i = new Intent(this, cls);
startActivity(i);
}

使用示例:

startActivity(MainActivity.class);

您不是在使用 Strings,而是在使用您要启动的实际类(Activities)。

在您的代码中:

switch (item.getItemId()) {
case R.id.menu_home1:
startActivity(Home1.class);
break;
case R.id.menu_home2:
startActivity(Home2.class);
break;
}

关于java - 如何在 Intent 构造函数中使用 .class 连接 Java 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24564310/

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