【问题标题】:Pass ArrayList between Fragments?在片段之间传递 ArrayList?
【发布时间】:2017-01-06 20:56:38
【问题描述】:

我有相当具体的final List<PieEntry> entries = new ArrayList<>();(PieEntry 属于 MPAndroidChart),我想将它传递给另一个片段,然后将其显示在图表中。 我已经尝试了很多方法,比如parsing,但是每次我运行应用程序时,饼图似乎都没有数据可以填充。 (也许我没有做对,因为解释对我来说不够深入)。

我对其进行了反向测试,所以直到数组正常为止,例如我可以在第一个片段中绘制图表并且一切正常。

也许我遗漏了一些细节,或者我走错了方向?

【问题讨论】:

  • 如果是的话,你有没有尝试过这里的邮政编码sn-p
  • 您可以保持列表静态或将其放入包中并为另一个片段设置参数。
  • 创建一个Bundle对象并调用putExtra方法
  • > 参考这个link 它会帮助你。

标签: android android-fragments


【解决方案1】:

您可以使用片段传递数组列表 按照下面的代码

 List<PieEntry> entries = new ArrayList<>();
 entrie.add(additems);
 Fragment_FindABarDetail fragment;
 fragment = new Fragment_FindABarDetail().newInstance(entries);   
 fragmentManager.beginTransaction()
                        .replace(R.id.main_content, fragment).commit();

在片段中添加

static List<PieEntry> entries_infragment;
public Fragment_FindABarDetail fragment newInstance(List<PieEntry> entries){

entries_infragment=entries;

return this;
}

【讨论】:

    【解决方案2】:

    发送参数:

    Fragment fragment = new Fragment();
    final Bundle bundle = new Bundle();
    bundle.putString("user_name", myusername);
    fragment.setArguments(bundle);
    

    接收参数:

    Bundle args = getArguments();
    if (args  != null && args.containsKey("user_name"))
    String userName = args.getString("user_name");
    

    您也可以尝试使用静态方法在片段之间传递数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多