1

フラグメントのコンストラクト コンポーネントを作成できるよう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];
}
4

2 に答える 2

1

コンストラクターでこれらのリソースを取得する必要があるのはなぜですか? そのコードをonCreate()メソッドに移動するだけです。

于 2013-03-27T16:47:29.007 に答える
0

フラグメント内でメニューを使用するには、次のようにするだけで十分です。

a) XML リソースからメニューを構築する次のメソッドを追加します。

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

b) 追加

setHasOptionsMenu(true);

フラグメントコンストラクターで、フラグメントがオプションメニューの入力に参加したいことをAndroidに示唆します

于 2013-03-27T16:50:07.997 に答える