如何在Android编程中将操作项用作按钮?

时间:2019-04-27 06:16:29

标签: java android

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

action item

我为此设置了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;
        }}}

1 个答案:

答案 0 :(得分:0)

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

@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()之后的某个时间发生。