我有一个类来开始一个新活动,我有一个创建意图的函数。我需要将MainActivity.class变量传递给该函数。 通常我会这样做。
Intent intent = new Intent(context, MainActivity.class);
我不想拥有这样的东西:
Intent intent = new Intent(context, variable);
所以我不想基本上改变活动。这可能吗?
答案 0 :(得分:0)
在发布问题之前搜索您的问题,很多人都有与您相同的问题。
我想这就是你要找的东西
How to pass integer from one activity to another?
现在使用字符串代替int使用字符串,我想你正在寻找
答案 1 :(得分:0)
如果我理解正确,你想使用反射来获取类名。
Class someActivity = Class.forName(getPackageName() + "MainActivity");
Intent intent = new Intent(context, someActivity);
startActivity(intent);
答案 2 :(得分:0)
你正在寻找这个。
private void callActivity(Activity activity,Class<?> className)
{
Intent intent = new Intent(activity, className);
startActivity(intent);
}
只需传递您调用另一个活动的活动以及您需要调用的className。
private void callActivity(Context context,Class<?> className)
{
Intent intent = new Intent(context, className);
startActivity(intent);
}