我有一个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];
}
答案 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