Java 如何在android编程中使用操作项作为按钮?

Java 如何在android编程中使用操作项作为按钮?,java,android,Java,Android,我的页面上方有一个菜单,它有一个动作项。像这样: 我为它设置了app:showAsAction=“always” 我的页面中也有不可见的视图(在UI中) 我想,如果我点击它,我的不可见视图就会出现。所以我为它设置了一个布尔参数。 我的布尔值设置为true,但我的对象根本不显示。我怎样才能修好它 这是我的密码: public static boolean myBoolean=false; protected void onCreate(Bundle savedInstanceS

我的页面上方有一个菜单,它有一个动作项。像这样:

我为它设置了
app:showAsAction=“always”

我的页面中也有不可见的视图(在UI中)

我想,如果我点击它,我的不可见视图就会出现。所以我为它设置了一个布尔参数。 我的布尔值设置为true,但我的对象根本不显示。我怎样才能修好它

这是我的密码:

    public static boolean myBoolean=false;

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //this if doesn't check after change parameter
    if(myBoolean)
       findViewById(R.id.checkBox).setVisibility(View.VISIBLE);
    }

    public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    switch (id) {
        case R.id.action_setting: {
            myBoolean=true;
            return true;
        }}}

我从中得到的是,你想显示一个基于点击操作栏中某个菜单项的视图,对吗?。如果这是真的,那么就这样做

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.action_setting:
        if(myBoolean){
           findViewById(R.id.checkBox).setVisibility(View.GONE);
           myBoolean = false;
        }else{
           findViewById(R.id.checkBox).setVisibility(View.VISIBLE);
           myBoolean = true;
        }
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

您不能在代码的前面决定可见性,因为单击可能只发生在onCreate()之后。

没错,谢谢。但当我在onCreate()中的按钮onclick中设置myBoolean true时,它会一直检查(我的setVisible停留在onCreate中,在onclick按钮之外),这是为什么?