Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使一个按钮按下一次并等待第二个按钮按下,反之亦然_Java_Android - Fatal编程技术网

Java 如何使一个按钮按下一次并等待第二个按钮按下,反之亦然

Java 如何使一个按钮按下一次并等待第二个按钮按下,反之亦然,java,android,Java,Android,你好,这是我在安卓工作室的代码 public class GroupDesign extends AppCompatActivity { private static final String TAG = "Spectrum Inc"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set

你好,这是我在安卓工作室的代码

public class GroupDesign extends AppCompatActivity {
    private static final String TAG = "Spectrum Inc";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_group_design);

        //button do suf

                Button lock = (Button) findViewById(R.id.lockit);
                //set what happens when pressed
                lock.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.i(TAG, "This is a secure message!");
                        Toast.makeText(getApplicationContext(), "Door Locked!", Toast.LENGTH_SHORT)
                                .show();

                    }
                });
                  Button unlock = (Button) findViewById(R.id.unlockit);
                //set what happens when pressed
                unlock.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.i(TAG, "This is a secure message!");
                        Toast.makeText(getApplicationContext(), "Door Unlocked!", Toast.LENGTH_SHORT)
                                .show();
                    }
                });


        }
    }

您可以有一个布尔标志。如果要隐藏按钮,请更新按钮的启用状态甚至可见性

boolean locked = false;
@Override 
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_group_design);
    Button lock, unlock;
    lock = (Button) findViewById(R.id.lockit); //set what happens when pressed 
    lock.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.i(TAG, "This is a secure message!");
            Toast.makeText(getApplicationContext(), "Door Locked!", Toast.LENGTH_SHORT) .show();
            locked = true;
            unlock.setEnabled(true);
            lock.setEnabled(false); 
            }
    }); 
    unlock = (Button)     findViewById(R.id.unlockit); //set what happens when pressed 
    unlock.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.i(TAG, "This is a secure message!"); 
            Toast.makeText(getApplicationContext(), "Door Unlocked!", Toast.LENGTH_SHORT) .show(); 
            locked = false;
            lock.setEnabled(true);
            unlock.setEnabled(false);
        }
    });
}
}
如果要隐藏按钮而不是禁用按钮,可以将
setEnabled(false)
替换为
setVisibility(View.GONE)


或者,如果您做的不多,您可以只使用一个按钮,然后更改标签文本。

使用布尔标志,并在单击按钮时更新这些标志。您基本上希望在任何时刻只有一个按钮可用。锁定或解锁,而不是同时锁定或解锁。是吗?你好,谢谢你的回复,结果我把按钮藏起来了。谢谢