我正在尝试实现片段布局。我有一个服务器作为SplashScreen&从Web获取一些数据并创建我的自定义对象的ArrayList。
通常如果我使用ListView,我会执行以下操作。
private ArrayList<Articles> articles;
private void isComplete() {
Intent intent = new Intent(SplashScreen.this, ListActivity.class);
intent.putExtra("data", articles);
startActivity(intent);
finish();
}
如何将相同的数据传递给片段?非常感谢你的帮助。
答案 0 :(得分:3)
简单的采取Global类
declare public static ArrayList<Articles> articles = new ArrayList<Articles>;
在主要活动Global.articles = articles
;
现在你可以使用Project中的任何位置。
答案 1 :(得分:2)
这取决于arraylist的类型
putIntegerArrayListExtra(String name,ArrayList value)
putParcelableArrayListExtra(String name,ArrayList value)
putStringArrayListExtra(String name,ArrayList value)
putCharSequenceArrayListExtra(String name,ArrayList value)
然后你可以通过将带有键字符串作为参数的put替换为put来读取下一个活动,例如
myIntent.getStringArrayListExtra("arrayPeople");
答案 2 :(得分:-2)
使用putExtra将值传递给intent。使用getSerializableExtra方法检索数据
如果我有两个活动A和B,我想传递ArrayList&gt;值为Activity B然后我将在A类中使用以下代码
传递ArrayList&gt;活动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);