【问题标题】:Android pass variable to an intentAndroid将变量传递给意图
【发布时间】:2017-12-18 03:44:45
【问题描述】:

我有一个类来开始一个新的活动,我有一个内部的函数来创建一个意图。我需要将 MainActivity.class 变量传递给该函数。 通常我是这样做的。

Intent intent = new Intent(context, MainActivity.class);

我不想有这样的东西:

Intent intent = new Intent(context, variable);

所以我不想改变活动开始。这可能吗?

【问题讨论】:

  • 你的意思是你想把一个类变量传递给 Intent 吗?
  • 您的意思是将变量从一个活动传递到另一个活动吗?
  • 根据你的说法什么是变量?

标签: java android class android-intent android-activity


【解决方案1】:

发帖前先搜索一下你的问题,很多人和你有同样的问题。

我猜这就是你要找的东西

How to pass integer from one activity to another?

现在我猜你正在寻找的不是 int 而是使用字符串

【讨论】:

    【解决方案2】:

    如果我理解正确,您想使用反射来获取类名。

    Class someActivity = Class.forName(getPackageName() + "MainActivity");
    Intent intent = new Intent(context, someActivity);
    startActivity(intent);
    

    【讨论】:

    • 没错。如果我像这样编辑这段代码,我可以得到我想要的。
    • 尝试 { Class someActivity = Class.forName(getPackageName() + ".MainActivity"); Intent 意图 = new Intent(getApplicationContext(), someActivity);开始活动(意图); }catch (Exception e){ e.printStackTrace(); }
    【解决方案3】:

    你正在寻找这个。

    private void callActivity(Activity activity,Class<?> className)
    {
        Intent intent = new Intent(activity, className);
        startActivity(intent);
    }
    

    只需从您调用另一个活动的位置传递活动以及您需要调用的类名。

    private void callActivity(Context context,Class<?> className)
    {
        Intent intent = new Intent(context, className);
        startActivity(intent);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多