【问题标题】:ArrayList contains null after being passed to next activityArrayList 在传递给下一个活动后包含 null
【发布时间】:2014-10-11 12:38:55
【问题描述】:

我使用ArrayList 来存储一些数据,然后通过.putStringArrayList() 方法将其传递给下一个实际需要它的活动。我在我的项目中的几个地方使用了相同的过程,它工作得非常好。但是,在这种特殊情况下,当我在接收活动中提取它时,它包含null。可以肯定的是,我什至在发送之前显示了列表,它确实显示了我需要的字符串。这是我发送 Arraylist 的代码:

 for(int i=0; i<AssignmentTitles.size(); i++)
        {
            System.out.println(AssignmentTitles.get(i));

        }
        Intent localIntent;
        localIntent = new Intent(CourseFolder.this, Assignments.class);
        Bundle b=new Bundle();
        b.putStringArrayList("titles",AnnouncementTitles);
        b.putStringArrayList("links",AnnouncementLinks);
        localIntent.putExtras(b);

        startActivity(localIntent);

这里是接收活动代码:

    AssignmentTitles = getIntent().getStringArrayListExtra("titles");
    AssignmentLinks = getIntent().getStringArrayListExtra("links");
    System.out.println("size: " + AssignmentLinks.size() + "TITLES:");
    for(int i=0; i<AssignmentTitles.size(); i++)
    {
        System.out.println(AssignmentTitles.get(i));

    }
    setListAdapter( new ArrayAdapter<String(Assignments.this,
    android.R.layout.simple_list_item_1,
    AssignmentTitles));

问题是我在项目的另一部分中使用了完全相同的代码并且它运行良好,可能是什么问题?

【问题讨论】:

  • 好的,我可以看到您已经打印了 AssignmentTitles 的 ArrayList,但正在发送 AnnouncementTitles。对吗?
  • @Jibran 我爱你。这么愚蠢的错误,谢谢指出。

标签: android android-activity arraylist bundle


【解决方案1】:

试试这个方法

AssignmentTitles = getIntent().getExtras().getStringArrayList("titles");
        AssignmentTitles = getIntent().getExtras().getStringArrayList("links");

【讨论】:

    【解决方案2】:

    首先使用Intent.getExtras() 获取Bundle,然后提取您的数组列表。

    【讨论】:

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