如何将整数传递给Android中的新活动?

时间:2014-03-29 14:06:15

标签: java android android-intent

我是android的新手。我将一个字符串和一个数值作为MainActivity的输入。 按下按钮时,将调用以下方法来调用第二个活动。 我正确地传递了这些值吗? 如果是,我如何接收这两个值以便在第二个活动中使用然后打印它们?

public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText1 = (EditText) findViewById(R.id.name);
    EditText editText2 = (EditText) findViewById(R.id.ma);
    String message = "Hi ! " + editText1.getText().toString();
    int i = Integer.parseInt(editText2.getText().toString());
    intent.putExtra("lol",message);
    startActivity(intent);
}

P.S。我知道我根本没有传递整数。我不知道该怎么做。请帮忙!

3 个答案:

答案 0 :(得分:0)

您只需将此值用于整数值 在第二次活动....

    int i = getIntent().getIntExtra(SendingStringName, 0);
    (or)
    String progress = getIntent().getStringExtra(SendingStringName);
    (or)
    ArrayList< String> progress = getIntent().getStringArrayListExtra(name);

答案 1 :(得分:0)

在新的Activity中,您应该致电getIntent()https://developer.android.com/reference/android/app/Activity.html#getIntent()

获得Intent后,您必须致电getIntExtra(String, int)https://developer.android.com/reference/android/content/Intent.html#getIntExtra(java.lang.String,%20int)

在您的情况下,从新的Activity中可以看出:

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

或更短:

int lol = getIntent().getIntExtra("lol", 0);

如果额外的“lol”不存在,那么'0'是int的默认值。

答案 2 :(得分:0)

发送数据:

EditText editText1 = (EditText) findViewById(R.id.name);
EditText editText2 = (EditText) findViewById(R.id.ma);
String message = "Hi ! " + editText1.getText().toString();
int i = Integer.parseInt(editText2.getText().toString());

Bundle param = new Bundle();
param.putString("greeting",message);
param.putInteger("NumberInteger",i);

Intent intent = new Intent(this, DisplayMessageActivity.class);
intent.putExtras(param);
startActivity(intent);

接收它们: 在类DisplayMessageActivity.java中执行:

Intent it = getIntent();
Bundle param = it.getExtras();
String capturedMessage= param.getString("greeting");
Integer captured_I = param.getInteger("NumberInteger");