繁体   English   中英

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

[英]How to pass integer to a new activity in Android?

我是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);
}

PS我知道我根本不传递整数。 我不知道该怎么做。 请帮忙!

您只需在第二个活动中将此值用于整数值即可。...

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

在新的Activity您应该调用getIntent()https : //developer.android.com/reference/android/app/Activity.html#getIntent()

一旦有了Intent ,就必须调用getIntExtra(String, int)https : getIntExtra(String, int)

在您的情况下,从新的活动中可以看到以下内容:

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

或更短:

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

如果多余的“ lol”不存在,则“ 0”是int的默认值。

发送数据:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM