以编程方式在Android中设置可见性 [英] Set visibility in Menu programmatically android

查看:104
本文介绍了以编程方式在Android中设置可见性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,这就是我想知道的.如何在Android中以编程方式设置菜单的可见性?这是我的菜单:

So, that´s what I wanna know. How can I set the visibility of the menu programatically in Android?? This is how I have my menu:

public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

public boolean onOptionsItemSelected (MenuItem item){
    switch (item.getItemId()){
        case R.id.menuregistrar:
            break;
        case R.id.menusalir:
            break;
    }
    return true;
}

但是此代码不在onCreate上,所以我不知道如何以编程方式将一项设置为可见或不可见(对于我而言,我希望"menuregistrar"在我注册了我的应用程序后永久不可见.

But this code is not on the onCreate, so I don´t know how to set one item visible or invisible programmatically (in my case, I want the "menuregistrar" to be invisible once I have registered my application and forever.

推荐答案

将此方法放入您的Activity

public boolean onPrepareOptionsMenu(Menu menu)
{
    MenuItem register = menu.findItem(R.id.menuregistrar);      
    if(userRegistered) 
    {           
        register.setVisible(false);
    }
    else
    {
        register.setVisible(true);
    }
    return true;
}

在较短的版本中,您可以编写:

in shorter version you could write:

MenuItem register = menu.findItem(R.id.menuregistrar);      
register.setVisible(!userRegistered);  //userRegistered is boolean, pointing if the user has registered or not.
return true;

这篇关于以编程方式在Android中设置可见性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆