在 startActivity ()上传递一个包?

将 bundle 传递给从当前活动启动的活动的正确方法是什么?共有财产?

248601 次浏览

你可以从意图中使用捆绑:

Bundle extras = myIntent.getExtras();
extras.put*(info);

或者一整捆:

myIntent.putExtras(myBundle);

这就是你要找的吗?

你有几个选择:

1)使用来自 意图捆绑:

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)使用意图的 PutUltra ()快捷方式

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


然后,在启动的活动中,你可以通过以下方式阅读:

String value = getIntent().getExtras().getString(key)

注意: 对于所有的基本类型,如 Parcelables 和 Serializables,bundle 都有“ get”和“ put”方法。我只是为了演示的目的使用字符串。

在 android 中将数据从一个 Activity 传递到 Activity

意图包含操作和可选的附加数据。可以使用意图 putExtra()方法将数据传递给其他活动。数据作为额外数据传递,是 key/value pairs。键始终是 String。作为值,您可以使用原始数据类型 int、 float、 char 等。我们还可以将 Parceable and Serializable对象从一个活动传递到另一个活动。

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

从 android 活动中检索捆绑数据

可以使用 Inent 对象上的 getData()方法检索信息。可以通过 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);
}

您可以使用 Bundle 将值从一个活动传递到另一个活动。在当前活动中,创建一个 bundle 并为特定值设置 bundle,然后将该 bundle 传递给意图。

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

现在在 NewActivity 中,您可以获取这个 bundle 并检索您的值。

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/