【问题标题】:Pass ArrayList from Activity to ListFragment?将 ArrayList 从 Activity 传递给 ListFragment?
【发布时间】:2012-04-22 04:56:53
【问题描述】:

我正在尝试实现片段布局。我有一个作为 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();
    }

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

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    它的简单采取全球类 和declare public static ArrayList&lt;Articles&gt; articles = new ArrayList&lt;Articles&gt;; 在主要活动Global.articles = articles; 现在您可以在 Project 中的任何位置使用。

    【讨论】:

    【解决方案2】:

    取决于数组列表的类型

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

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

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

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

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

    myIntent.getStringArrayListExtra("arrayPeople");
    

    【讨论】:

      【解决方案3】:

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

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

      将 ArrayList> 数据从 Activity A 传递到 Activity 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);
      

      在 Activity B 中检索值

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

      ArrayList<HashMap<String, String>> arl =(ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
      System.out.println("...serialized data.."+arl);
      

      【讨论】:

      • 问题是关于 ListFragment。与活动无关。
      猜你喜欢
      • 2017-01-25
      • 1970-01-01
      • 2017-02-13
      • 2014-03-13
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      相关资源
      最近更新 更多