如何隐藏微调,这是在工具栏上,当活动开始加载?

问题描述 投票:0回答:1

我希望做一个微调消失某些片段,但在活动第一次加载到默认片段,微调是可见的,而不是走了。我试图把它在onCreateOptionsMenu和的onCreate但那些没有工作。微调器是从实际的工具栏菜单单独的菜单。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main_toolbar, menu);  //only contains icons 
    //which leads to intent of another activity and search

    getMenuInflater().inflate(R.menu.menu_main_toolbar_spinner, menu);
    MenuItem item = menu.findItem(R.id.menu_spinner_toolbar_main);
    Spinner spinner = (Spinner) item.getActionView();
    spinner.setVisibility(View.GONE);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.array_spinner_topics, android.R.layout.simple_spinner_dropdown_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    return true;
}

这是工具栏上的微调菜单(menu标签是按通常的xmlns)

<item
    android:id="@+id/menu_spinner_toolbar_main"
    app:actionViewClass="android.widget.Spinner"
    app:showAsAction="always"
    tools:ignore="MenuTitle" />
java xml android-studio
1个回答
0
投票

首先在XML中,我加入

android:visible="false"

然后,在活动中,我写道:

private int fragNumber = 1;

下面的onCreateOptionsMenu和onOptionsItemSelected,我开始了一个onPrepareOptionsMenu

public boolean onPrepareOptionsMenu (Menu menu) {
  MenuItem spinner = menu.findItem(R.id.menu_spinner_toolbar_main);
  if (fragNumber == 1) {
     spinner.setVisible(false);
  } else {
     spinner.setVisible(true);
  }
  return true;
}

然后在onNavigationItemSelected,其中I具有嵌入内部的一个片段加载函数,我设置fragNumber为1或2。

© www.soinside.com 2019 - 2024. All rights reserved.