Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取在运行时确定的片段页面标题_Android_Android Fragments - Fatal编程技术网

Android 获取在运行时确定的片段页面标题

Android 获取在运行时确定的片段页面标题,android,android-fragments,Android,Android Fragments,我使用的是包含两个片段的FragmentPagerAdapter。两个片段从AbstractFragment扩展而来,AbstractFragment扩展了片段。创建片段时,我无法获取该片段的页面标题,因为该标题是作为片段的参数传递的: FragmentActivity的内部类: ArrayList<AbstractFragment> fragments = new ArrayList<AbstractFragment >(); public class Section

我使用的是包含两个片段的
FragmentPagerAdapter
。两个片段从AbstractFragment扩展而来,AbstractFragment扩展了片段。创建片段时,我无法获取该片段的页面标题,因为该标题是作为片段的参数传递的:
FragmentActivity的内部类:

ArrayList<AbstractFragment> fragments = new ArrayList<AbstractFragment >();
public class SectionsPagerAdapter extends FragmentPagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            return fragments.get(position);

        }

        @Override
        public int getCount() {

            return fragments.size();


    }

            @Override
            public CharSequence getPageTitle(int position) {

                return fragments.get(position).getTitle();

            }

        }
具体片段:

@Override
    public String getTitle(){
        return title;
    }


问题解决了,如果我滑动到下一个片段,标题将出现,但不会在创建时出现。有什么建议吗?

您正在调用
getTitle
,此时尚未为该
片段调用
onCreate
。已知的解决方法是检查是否调用了
onCreate
,如果没有,则返回
data.getString(KEY\u CHART\u TITLE)


谢谢,它起作用了。没想到这么简单。我一直在想我应该从活动中获取适配器,然后再次手动调用它。谢谢
@Override
    public String getTitle(){
        return title;
    }
public String getTitle()
{
    if( title == null )
    {
        title = getArguments().getString(KEY_CHART_TITLE);
    }
    return title;
}