阻止用户一次按两个按钮?

lda*_*dam 5 user-interface android multi-touch

有没有办法只注册一个按钮?在我的活动中,我有两个按钮,每个按钮开始另一个活动 - 此时如果我同时按下它们,两个活动都开始,一个在另一个上面.我想防止这种情况,并且在任何给定时间只运行一个或另一个.我想过要禁用多点触控,但这对我来说有些不好意思.

编辑:我试过这样做:

public class MainActivity extends Activity {

    Button btn_send;
    Button btn_receive;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_send = (Button) findViewById(R.id.btn_send);
        btn_receive = (Button) findViewById(R.id.btn_receive);
        OnClickListener listener = new OnClickListener() {

            @Override
            public void onClick(View v) {
                if (v.equals(btn_send)) {
                    if (isWifiConnected()) {
                        btn_receive.setClickable(false);
                        startActivity(new Intent(MainActivity.this,
                                SendActivity.class));
                    } else {
                        Toast.makeText(MainActivity.this,
                                "Wifi connection required", Toast.LENGTH_SHORT)
                                .show();
                    }
                } else if (v.equals(btn_receive)) {
                    if (isWifiConnected()) {
                        btn_send.setClickable(false);
                        startActivity(new Intent(MainActivity.this,
                                ReceiveActivity.class));
                    } else {
                        Toast.makeText(MainActivity.this,
                                "Wifi connection required", Toast.LENGTH_SHORT)
                                .show();
                    }
                }

            }

        };
        btn_send.setOnClickListener(listener);
        btn_receive.setOnClickListener(listener);
    }

    @Override
    public void onPause() {
        btn_send.setClickable(true);
        btn_receive.setClickable(true);
        super.onPause();
    }
}
Run Code Online (Sandbox Code Playgroud)

我仍然可以在Galaxy S2 GT-i9100上同时按下两个按钮.

Rom*_*ets 8

android:splitMotionEvents ="false"为按钮持有者


Bla*_*elt 1

onClickListener为两个按钮注册相同的内容,并setEnabled ( false )在单击前者时调用后者