如何向Intent对象添加/传递多个值?

时间:2016-01-05 09:03:10

标签: java android android-intent android-studio

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

3 个答案:

答案 0 :(得分:1)

我们开始,你的代码看起来像,

发件人方:

var newObject = filterObject(old_json, "option");

接收方:

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

希望它有所帮助。

答案 1 :(得分:0)

使用此代码

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);

然后在您的第二个活动 onCreate()

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

答案 2 :(得分:0)

为了让事情变得更容易和可重复使用,你可以像这样做出自己的意图

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();