我有片段,我在列表中获取字符串并将其发送为Bundle到活动。例如,我获取一个字符串并通过以下方式将其发送到活动:
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;
}
}
现在,为了访问latest_list并将其传递到捆绑包中,我的(1)和(2)应该是什么?
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;
}
您现在可以使用latestList
在另一个类中是这样的:
ViewPageAdapter viewpage = new ViewPageAdapter(response);
List<List<String>> latest_list = viewpage.getLatestList();
要使用捆绑包传递列表,请查看以下答案:https://stackoverflow.com/a/28197436/4561008 https://stackoverflow.com/a/28197436/4561008
你需要使用implements Parcelable
在您的 ViewPagerAdapter 声明中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)