我是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。我知道我根本没有传递整数。我不知道该怎么做。请帮忙!
答案 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");