3

我正在尝试实现片段布局。我有一个作为 SplashScreen 服务的活动,并从网络上获取一些数据并创建我的自定义对象的 ArrayList。

通常,如果我使用 ListView,我会执行以下操作。

private ArrayList<Articles> articles;

private void isComplete() {
         Intent intent = new Intent(SplashScreen.this, ListActivity.class);
         intent.putExtra("data", articles);
         startActivity(intent);
         finish();
    }

如何将相同的数据传递给片段?我非常感谢您的帮助。

4

3 回答 3

3

它的简单采取 Global 类并declare public static ArrayList<Articles> articles = new ArrayList<Articles>; 在 main Activity Global.articles = articles;现在您可以在 Project 中的任何位置使用。

于 2012-04-22T06:12:14.853 回答
2

这取决于数组列表的类型

  • putIntegerArrayListExtra(字符串名称,ArrayList 值)

  • putParcelableArrayListExtra(字符串名称,ArrayList 值)

  • putStringArrayListExtra(字符串名称,ArrayList 值)

  • putCharSequenceArrayListExtra(字符串名称,ArrayList 值)

然后,您可以通过将 put 替换为 get 并将键字符串作为参数来读取您的下一个活动,例如

myIntent.getStringArrayListExtra("arrayPeople");
于 2012-04-22T05:02:40.923 回答
-2

使用 putExtra 将值传递给意图。使用 getSerializableExtra 方法检索数据

如果我有两个活动 A 和 BI 想将 ArrayList> 值传递给活动 B,那么我将在 A 类中使用以下代码

将 ArrayList> 数据从活动 A 传递到活动 B

Intent intent = new Intent(this, B.class);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("sunil", "sahoo");
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
arl.add(hm);
intent.putExtra("arraylist", arl);
startActivityForResult(intent, 500);

检索活动 B 中的值

在 B 类中,我将编写以下代码来检索数据

ArrayList<HashMap<String, String>> arl =(ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
System.out.println("...serialized data.."+arl);
于 2012-04-22T05:03:54.373 回答