将活动传递给ListFragment?

问题描述:

我想实现一个片段布局。我有一个活动,服务器作为SplashScreen &从Web获取一些数据并创建我的自定义对象的ArrayList。将活动传递给ListFragment?

通常如果我使用的是ListView,我只需要执行以下操作。

private ArrayList<Articles> articles; 

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

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

其简单采取全球一流 而declare public static ArrayList<Articles> articles = new ArrayList<Articles>; 在主要活动中Global.articles = articles; 现在你可以使用Project中的任何地方。

+0

感谢它的工作,但静态变量占用内存空间!任何其他方式可能? – Nischal 2015-09-09 05:54:07

+0

@Nischal是的,你可以参考http://stackoverflow.com/questions/14997855/pass-the-arraylist-with-particular-id-from-one-class-to-another-in-android – 2015-09-09 07:14:19

这取决于的数组列表

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

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

  • putStringArrayListExtra(字符串名称,ArrayList中的类型值)

  • putCharSequenceArrayListExtra(String name ,ArrayList的值)

然后你就可以通过替换把与密钥字符串作为参数,得到你读下一个活动,如

myIntent.getStringArrayListExtra("arrayPeople"); 

使用putExtra传递价值的意图。使用getSerializableExtra方法来检索数据

如果我有两个活动A和BI要传递的ArrayList>值到活动B,则我将使用以下代码中类从活动A A

通行证的ArrayList>数据到活动乙

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); 
+0

问题是关于ListFragment。不是关于活动。 – Isuru 2015-07-14 10:53:29