4.4使用Intent.putExtra()推送字符串值


问题
您需要在启动时将一些参数传递到活动中。

一个快速的解决方案是使用Intent.putExtra()来推送数据。然后使用getIntent()。getExtras()。getString()来检索它。
讨论
例4-6显示了推送数据的代码。
实例4-6。推送数据

import android.content.Intent;
...
Intent intent =
new Intent(
this,
MyActivity.class );
intent.putExtra( "paramName", "paramValue" );
startActivity( intent );



此代码可能在主活动内。 MyActivity.class是我们要启动的第二个活动;它必须显式包含在您的AndroidManifest.xml文件中。


<activity android:name =“。MyActivity”/>


例4-7显示了拉取数据的代码。


实例4-7。拉数据



import android.os.Bundle;
...
Bundle extras = getIntent().getExtras();
if (extras != null) {
String myParam = extras.getString("paramName");
}
else {
//..oops!
}


在这个例子中,代码将在您的主要Activity.java文件内。


此方法有一些限制。例如,它只能传递字符串。因此,例如,如果你需要传递一个ArrayList到你的ListActivity,一个可能的解决方法是传递逗号分隔的字符串,然后在另一边拆分。


或者,您可以使用SharedPreferences。