访问Fragment构造函数中的资源

时间:2013-03-27 16:14:21

标签: android android-fragments

我有一个Fragment,在空构造函数中我需要能够访问字符串资源,这样我才能创建片段的构造组件。

我知道我应该使用newInstance()而不是构造函数,但构造函数到目前为止工作并且使用Bundle传递自定义对象似乎很麻烦。

我的片段构造函数如下:

public SideMenuView(Context ctx) {

    menuItems = new MenuItem[] {

            new MenuItem(R.drawable.one_icon, ctx.getResources().getString(R.string.one), R.id.imgChevron),
            new MenuItem(R.drawable.two_icon, ctx.getResources().getString(R.string.two), R.id.imgChevron),
            new MenuItem(R.drawable.three_icon, ctx.getResources().getString(R.string.three), R.id.imgChevron)
        };

    fragCache = new Fragment[menuItems.length];
}

2 个答案:

答案 0 :(得分:1)

为什么需要在构造函数中获取这些资源?我只想将这段代码移到onCreate()方法。

答案 1 :(得分:0)

使用片段内的菜单就足够了:

a)添加以下方法,从XML资源构建菜单

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
     inflater.inflate(R.menu.attendance_fragment, menu);
}

b)添加

setHasOptionsMenu(true);
片段构造函数中的

提示你的片段想要参与填充选项菜单

的android