我的申请中有两项活动。我想将String数组从一个活动传递给另一个活动。如何将这些值从活动传递给活动?
答案 0 :(得分:12)
您可以考虑使用Intent.getStringArrayExtra
在第一项活动中:
Intent intent = new Intent(context, NewActivity.class);
intent.putExtra("string-array", stringArray);
context.startActivity(intent);
在第二个:
Intent intent = getIntent();
String [] stringArray = intent.getStringArrayExtra("string-array");
答案 1 :(得分:3)
以下是一些阅读:http://www.vogella.de/articles/AndroidIntent/article.html#overview_accessdata转到第2.1节。
此外,How to pass ArrayList using putStringArrayListExtra()应该解释类似的内容。
答案 2 :(得分:2)
只需将其序列化并将其设置为您想要打开的意图(活动)的附加内容。
您将在该活动的onCreate()中收到它。
再次将其转换为数组。
答案 3 :(得分:2)
在Activity One中,编写此代码以创建数组并将其传递给另一个活动:
String[] array1={"asd","fgh","dcf","dg","ere","dsf"};
Intent i=new Intent(MainActivity.this,Main2Activity.class);
i.putExtra("key",array1);
startActivity(i);
在第二个活动中,写下此内容以检索数组
String[] array = getIntent().getStringArrayExtra("key");
答案 4 :(得分:1)
Intent myIntent = new Intent(getApplicationcontext, NewActivity.class);
intent.putExtra("mStringArray", mystringArray);
startActivity(myIntent);
在onCreate事件中的新活动
String[] mystringArray = getIntent().getStringArrayExtra("mStringArray");
如果您想发送包含不同数据类型的更多数据,请使用 BUNDLE。
答案 5 :(得分:0)
非常简单,使变量静态&在该类中创建一个公共静态方法,如
public static getArray()
{
return array;
}
现在,您可以从另一个要访问它的活动中访问此方法。