【问题标题】:How to add/pass multiple values to Intent object?如何向 Intent 对象添加/传递多个值?
【发布时间】:2016-04-09 01:03:36
【问题描述】:

我的第一个活动中有两个 EditText 对象。当我去下一个活动时,我想要他们的价值观。 让我们假设 EditText 对象是 inp1、inp2 并且它们只能接受数字。 请提及如何将它们的值添加到 int Intent 对象以及如何在下一个活动的 .java 文件中提取它们的值。

【问题讨论】:

标签: java android android-intent android-studio


【解决方案1】:

开始,您的代码将如下所示,

发送方:

Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName1", intValue1);
myIntent.putExtra("intVariableName2", intValue2);
startActivity(myIntent);

接收方:

 Intent mIntent = getIntent();
 int intValue1 = mIntent.getIntExtra("intVariableName1", 0);
 int intValue2 = mIntent.getIntExtra("intVariableName2", 0);

希望对你有帮助。

【讨论】:

    【解决方案2】:

    使用此代码

    Intent intent = new Intent(first.this, Second.class);
    Bundle extras = new Bundle();
    extras.putString("value1",String.valueof(inp1.getText().toString()));
    extras.putString("value2",String.valueof(inp2.getText().toString()));
    intent.putExtras(extras);
    startActivity(intent);
    

    然后在你的第二个 Activity onCreate()

    Intent intent = getIntent();
    Bundle extras = intent.getExtras();
    String value1 = extras.getString("value1");
    String value2 = extras.getString("value2");
    

    【讨论】:

      【解决方案3】:

      为了使事情更容易和可重用,您可以像这样制作自己的意图

      public class MyIntent extent Intent{
          private static final String FIRST_VALUE;
          private static final String SECOND_VALUE;
      
          public MyIntent(Context context, String firstValue, String secondValue){
              super(context,MySecondActivity.class);
              putExtra(FIRST_VALUE, firstValue);
              putExtra(SECOND_VALUE, secondValue);
          }
      
          public String getFirstValue(){
              getStringExtra(FIRST_VALUE);
          }
      
          public String getSecondValue(){
              getStringExtra(SECOND_VALUE);
          }
      }
      

      发件人:

      startActivity(new MyIntent(this,"FirstString", "SecondString"));
      

      接收方:

      MyIntent myIntent = (MyIntent)getIntent();
      String firstValue  = myIntent.getFirstValue();
      String secondValue = myIntent.getSecondValue();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-03
        相关资源
        最近更新 更多