【问题标题】:How to pass integer from one Activity to another?如何将整数从一个活动传递到另一个活动?
【发布时间】:2011-10-27 19:05:03
【问题描述】:

我想将一个整数的新值从一个活动传递到另一个活动。 即:

活动 B 包含一个

integer[] pics = { R.drawable.1, R.drawable.2, R.drawable.3}

我希望活动 A 将新值传递给活动 B:

integer[] pics = { R.drawable.a, R.drawable.b, R.drawable.c}

所以通过某种方式

private void startSwitcher() {
    Intent myIntent = new Intent(A.this, B.class);
    startActivity(myIntent);
}

我可以设置这个整数值。

我知道这可以通过捆绑包以某种方式完成,但我不确定如何将这些值从活动 A 传递到活动 B。

【问题讨论】:

    标签: android integer bundle


    【解决方案1】:

    这很简单。在发送方,使用Intent.putExtra:

    Intent myIntent = new Intent(A.this, B.class);
    myIntent.putExtra("intVariableName", intValue);
    startActivity(myIntent);
    

    在接收方,使用Intent.getIntExtra:

     Intent mIntent = getIntent();
     int intValue = mIntent.getIntExtra("intVariableName", 0);
    

    【讨论】:

      【解决方案2】:

      它们是您可以用来传递整数的两种方法。一个如下图。

      A.class

      Intent myIntent = new Intent(A.this, B.class);
      myIntent.putExtra("intVariableName", intValue);
      startActivity(myIntent);
      

      B.class

      Intent intent = getIntent();
      int intValue = intent.getIntExtra("intVariableName", 0);
      

      另一种方法是将整数转换为字符串,并使用以下代码。

      A.class

      Intent intent = new Intent(A.this, B.class);
      Bundle extras = new Bundle();
      extras.putString("StringVariableName", intValue + "");
      intent.putExtras(extras);
      startActivity(intent);
      

      上面的代码会将你的整数值作为字符串传递给 B 类。在 B 类上,获取字符串值并再次转换为整数,如下所示。

      B.class

         Bundle extras = getIntent().getExtras();
         String stringVariableName = extras.getString("StringVariableName");
         int intVariableName = Integer.parseInt(stringVariableName);
      

      【讨论】:

        【解决方案3】:

        在活动 A 中

        private void startSwitcher() {
            int yourInt = 200;
            Intent myIntent = new Intent(A.this, B.class);
            intent.putExtra("yourIntName", yourInt);
            startActivity(myIntent);
        }
        

        在活动 B 中

        int score = getIntent().getIntExtra("yourIntName", 0);
        

        【讨论】:

          【解决方案4】:

          在发送者活动端:

          Intent passIntent = new Intent(getApplicationContext(), "ActivityName".class);
          passIntent.putExtra("value", integerValue);
          startActivity(passIntent);
          

          在接收器活动端:

          int receiveValue = getIntent().getIntExtra("value", 0);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-31
            • 2021-08-17
            • 2012-08-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多