同様の質問が表示されましたが、答えは役に立たないです。それが私が投稿する理由です。 引き出しをFragmentDrawer.java
に設定する方法は次のとおりです。ナビゲーション・ドロワーのトグル・ボタンが初めて機能しない
public void setUp(int fragmentId, DrawerLayout drawerLayout, Toolbar toolbar) {
containerView = getActivity().findViewById(fragmentId);
mDrawerLayout = drawerLayout;
toolBar = toolbar;
onDrawerOpen();
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerToggle.setHomeAsUpIndicator(R.drawable.drawer);
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerLayout.post(new Runnable() {
@Override
public void run() {
mDrawerToggle.syncState();
}
});
mDrawerToggle.setToolbarNavigationClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onDrawerOpen();
}
});
}
ここにはonDrawerOpen
メソッドがあります。
private void onDrawerOpen() {
mDrawerToggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout,
toolBar, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getActivity().invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
getActivity().invalidateOptionsMenu();
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
super.onDrawerSlide(drawerView, slideOffset);
toolBar.setAlpha(1 - slideOffset/2);
}
};
}
そしてMainActivity
からこのように呼び出します。
drawerFragment.setUp(R.id.fragment_navigation_drawer, mDrawer, mToolbar);
ヤップ、@マイク、このコードは私が書いたものではありません。私はあなたの答えを試し、あなたの質問を正しいものにしよう。 –