如何获取带有此关键字的List<List<String>>?

How to get List<List<String>> with this keyword?

我有片段,我在其中获取列表中的字符串并将其作为 Bundle 发送到 activity。例如,我得到一个字符串并通过以下方式将其发送到 activity:

public class ViewPagerAdapter extends FragmentStatePagerAdapter
{
  private CharSequence contentTitle[];

  public ViewPagerAdapter(Response<album> response)
  {
     List<String> listcontentTitle = new ArrayList<>();
     List<List<String>> latest_list = new ArrayList<>();      
     List<String> latestdate = new ArrayList<>();
     List<String> latestcomment = new ArrayList<>();
     for (int i = 0; i < 5; i++) 
     {
        listcontentTitle.add(String.valueOf(response.body().getcontent().get(i).getcontentTitle()));
        latestdate.add(String.valueOf(response.body().getcontent().get(i).getcontentdate()));
        latestcomment.add(String.valueOf(response.body().getcontent().get(i).getcontentcmnt()));
     }
     latest_list.add(latestdate);
     latest_list.add(latestcomment);
     this.contentTitle = listcontentTitle.toArray(new CharSequence[listcontentTitle.size()]);
     // (1) access latest_list with this keyword
  }

  @Override
  public Fragment getItem(int position)
  {
    Fragment Detail=new Detail(mContext);
    Bundle bundle= new Bundle();
    bundle.putString("content_title",contentTitle[position].toString());
    // (2) pass the latest list in bundle
    Detail.setArguments(bundle);
    return Detail;
  }
}

现在我的 (1) 和 (2) 应该是什么才能访问 latest_list 并将其打包传递?

1) 这里不能使用this。将其设置为方法上方的私有权限,如下所示:

public class ViewPagerAdapter extends FragmentStatePagerAdapter
{
    private CharSequence contentTitle[];
    private List<List<String>> latestList; // This let's you use latestList outside of this ViewPagerAdapter class.
    public ViewPagerAdapter(Response<album> response)
    {
        List<String> listcontentTitle = new ArrayList<>();
        List<List<String>> latest_list = new ArrayList<>();      
        List<String> latestdate = new ArrayList<>();
        List<String> latestcomment = new ArrayList<>();
        for (int i = 0; i < 5; i++) 
        {
            listcontentTitle.add(String.valueOf(response.body().getcontent().get(i).getcontentTitle()));
            latestdate.add(String.valueOf(response.body().getcontent().get(i).getcontentdate()));
            latestcomment.add(String.valueOf(response.body().getcontent().get(i).getcontentcmnt()));
        }
        latest_list.add(latestdate);
        latest_list.add(latestcomment);
        contentTitle = listcontentTitle.toArray(new CharSequence[listcontentTitle.size()]);
        lastestList = lastest_list;
    }
    public List<List<String>> getLatestList(){
        return latestList;
    }

您现在可以像这样在另一个 class 中使用 latestList

ViewPageAdapter viewpage = new ViewPageAdapter(response);
List<List<String>> latest_list = viewpage.getLatestList();

要使用捆绑包传递列表,请查看此答案:

您需要在 ViewPageAdapter 声明中使用 implements Parcelable