[英]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.