私のアプリでは、ナビゲーションドロワーを使用しました。ここで私はすべての項目をリストアップしました。画像からそれぞれのフラグメントが開かれている間にナビゲーションドロワー項目を非表示にする方法
、アイテムれ、
- ホーム
- フィルター&ソート
- ウィッシュリスト
- ショップ
- MyOrder
- 設定
- ログアウト
の店にいる場合は、を非表示にする必要があります。これを行う方法?
私を助けてください。
私のアプリでは、ナビゲーションドロワーを使用しました。ここで私はすべての項目をリストアップしました。画像からそれぞれのフラグメントが開かれている間にナビゲーションドロワー項目を非表示にする方法
、アイテムれ、
の店にいる場合は、を非表示にする必要があります。これを行う方法?
私を助けてください。
あなたは断片onAttach
方法でそれを処理することができます。あなたの必要に応じてperticularアイテムの可視性を設定します。あなたの公開onNavigationItemSelected(MenuItemの項目)で
@Override
public void onAttach(Context context) {
super.onAttach(context);
YourActivity activity = (YourActivity)context;
NavigationView navigationView = (NavigationView) activity.findViewById(R.id.yournavigationviewid);
navigationView.getMenu().findItem(R.id.youritemid).setVisible(false);
}
あなたは一つの断片を設定している場合は、自動的に引き出しが非表示になります。私は次のようにしています:
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
toolbar.setTitle(item.toString());
int id = item.getItemId();
if (id == R.id.dashboard) {
fragment = new DashboardFragment();
} else if (id == R.id.manage_users) {
}else{
}
setFragmentLayout(fragment);
return true;
}
必要に応じてフラグメントを設定します。
setNavigationItemSelectedListenerの中で、選択したmenuItemを取得すると、コードを実装できます。また、あなたは後で
MenuItem prevMenuItem;
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
if(prevMenuItem != null) prevMenuItem.setVisible(true) //making visible the previously hidden item.
menuItem.setVisible(false);
prevMenuItem = menuItem //storing the instance of currently hidden item to make it visible later.
return true;
}
});
あなたはこのようなonNavigationItemSelected
リスナーにmDrawerLayout.closeDrawers()
を使用して引き出しを隠すことができ、それが見えるように隠されたメニュー項目のインスタンスを格納するために必要です。
mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
switch (menuItem.getItemId()) {
case R.id.navigation_item_shop:
//do your stuffs or attach fragment
mDrawerLayout.closeDrawers();
return true;
default:
return true;
}
}
}
この1つは私のために働きました! – Suchith
これも私のために働いた! –