我怎么能不一起点击多个按钮?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎么能不一起点击多个按钮?相关的知识,希望对你有一定的参考价值。

我的应用程序有3个按钮,如上所示。我想要发生的是当按下一个按钮然后将其他两个按钮设置为非活动状态。我怎么能做到这一点?

这是我的MainActivity.java代码:

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        button1.setSelected(!button1.isSelected());
    }         
});

button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {        
        button2.setSelected(!button2.isSelected());
    }
});

button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        button3.setSelected(!button3.isSelected());
    }
});
答案

这个。这是针对button1你也可以实现其他两个

button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                button1.setSelected(!button1.isSelected());
                button2.setVisibility(Vew.GONE); // this will disappear your buttons
                button3.setVisibility(Vew.GONE);
                button1.setEnable(false); // to disable the button for further clicks 

                }

        });

如果您只想禁用按钮,则调用此setEnabled而不是setVisible方法

另一答案

为每个按钮设置一个变量,用于存储按钮是否被单击(或再次单击)。 然后,单击每个按钮时,将该变量设置为按钮的当前状态, 并相应地设置其他按钮启用状态。

码:

Boolean isButtonOnePressed = false
button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            isButtonOnePressed = !isButtonOnePressed
            button2.setEnabled(!isButtonOnePressed)
            button3.setEnabled(!isButtonOnePressed)
        }

    });

您也可以考虑使用切换按钮,然后每次点击 - 只检查其中一个按钮是否已被按下。

另一答案
  button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            button2.setEnabled(false);
            button3.setEnabled(false);

            }

    });

    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            button1.setEnabled(false);
            button3.setEnabled(false);
        }
    });

    button3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            button1.setEnabled(false);
            button2.setEnabled(false);;
        }
    });

}

以上是关于我怎么能不一起点击多个按钮?的主要内容,如果未能解决你的问题,请参考以下文章

片段存储和重用:使用TabView的多个子片段

从片段创建子意图

从单个按钮从多个片段中提取数据

如何在 FAB 按钮单击时将数据从多个片段发送到单个活动

ActivityNotFoundException,启动活动时出错

如何从 FragmentPagerAdapter 返回多个片段