Answers:
您有几种选择:
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2)创建一个新的捆绑包
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3)使用Intent 的putExtra()快捷方式
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
然后,在启动的活动中,您将通过以下方式阅读它们:
String value = getIntent().getExtras().getString(key)
注意:对于所有基本类型,Parcelables和Serializables,捆绑包都具有“ get”和“ put”方法。我只是将Strings用于演示目的。
在Android中将数据从一个Activity传递到Activity
一个意图包含动作和可选的其他数据。可以使用intent putExtra()
方法将数据传递到其他活动。数据作为附加内容传递,且为key/value pairs
。密钥始终是字符串。作为值,您可以使用原始数据类型int,float,chars等。我们还可以将Parceable and Serializable
对象从一个活动传递到另一个活动。
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);
从Android活动中检索捆绑包数据
您可以使用getData()
Intent对象上的方法检索信息 。的意图对象可以通过被检索getIntent()
方法。
Intent intent = getIntent();
if (null != intent) { //Null Checking
String StrData= intent.getStringExtra(KEY);
int NoOfData = intent.getIntExtra(KEY, defaultValue);
boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
char charData = intent.getCharExtra(KEY, defaultValue);
}
您可以使用捆绑包将值从一个活动传递到另一个活动。在您当前的活动中,创建一个包并将其设置为特定值,然后将该包传递给意图。
Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);
现在,在NewActivity中,您可以获取此捆绑包并获取您的价值。
Bundle bundle = getArguments();
String value = bundle.getString(key);
您还可以通过意图传递数据。在您当前的活动中,这样设置意图,
Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);
现在,在NewActivity中,您可以从这样的意图中获得该价值,
String value = getIntent().getExtras().getString(key);
写下您正在从事的活动:
Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);
在NextActivity.java中
Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));
这对我有用,您可以尝试。
来源:https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-to-another-activity-in-android-application/
您可以在第一个活动中使用以下代码:
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
并在第二个活动中获取对象:
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}