在 Android 中对整数使用 intent 和 bundle
Using intent and bundle for integers in Android
假设我想将数据从一个 activity/class 传递到另一个涉及整数数据类型的数据。到目前为止,这是我对 MainActivity(第一个)class 的了解:
@Override
public void onClick(View v) {
Intent i = new Intent(this, SecondActivity.class);
final int x = 3;
i.putExtra("new variable", x);
startActivity(i);
}
对于接收class,SecondActivity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Bundle i = getIntent().getExtras();
String value = i.getString("new variable");
tvResult = (TextView)findViewById(R.id.textViewResult);
tvResult.setText(value);
}
但是,SecondActivity 在第二个屏幕上什么也没有显示...可能是因为我需要先将值转换为 int?
谢谢!
I wanted to pass data from one activity/class to the other involving
an integer data type...
x
是 int
但在 SecondActivity
中 i.getString
用于从 Bundle
获取数据 return String
而不是 int.
使用 Bundle.getInt
从 Bundle
得到 int
。
int value = i.getInt("new variable");
还使用 String.valueOf
将 TextView
中的 int
显示为:
tvResult.setText(String.valueOf(value));
假设我想将数据从一个 activity/class 传递到另一个涉及整数数据类型的数据。到目前为止,这是我对 MainActivity(第一个)class 的了解:
@Override
public void onClick(View v) {
Intent i = new Intent(this, SecondActivity.class);
final int x = 3;
i.putExtra("new variable", x);
startActivity(i);
}
对于接收class,SecondActivity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Bundle i = getIntent().getExtras();
String value = i.getString("new variable");
tvResult = (TextView)findViewById(R.id.textViewResult);
tvResult.setText(value);
}
但是,SecondActivity 在第二个屏幕上什么也没有显示...可能是因为我需要先将值转换为 int?
谢谢!
I wanted to pass data from one activity/class to the other involving an integer data type...
x
是 int
但在 SecondActivity
中 i.getString
用于从 Bundle
获取数据 return String
而不是 int.
使用 Bundle.getInt
从 Bundle
得到 int
。
int value = i.getInt("new variable");
还使用 String.valueOf
将 TextView
中的 int
显示为:
tvResult.setText(String.valueOf(value));