为了账号安全,请及时绑定邮箱和手机立即绑定

当“录制”按钮处于活动状态时禁用其他按钮

当“录制”按钮处于活动状态时禁用其他按钮

大话西游666 2022-09-14 15:58:38
我在菜单中有4个项目和1个按钮Rec /停止。我希望,当Rec按钮处于活动状态并录制时,菜单项中的其他4项被禁用。请帮帮我。这是activity_main.xml<ToggleButton    android:id="@+id/recStop"    android:layout_width="65dp"    android:layout_height="65dp"    android:layout_alignParentTop="true"    android:layout_centerHorizontal="true"    android:layout_marginTop="100dp"    android:background="@drawable/tbutton"    android:text=""    android:textOff=""    android:textOn="" />这是纽扣.xml<item android:drawable="@drawable/rec"android:state_checked="false" /><item android:drawable="@drawable/stop"android:state_checked="true" />这是主要活动.javaprivate ToggleButton toggleButton;toggleButton = (ToggleButton) findViewById(R.id.recStop);// Button Rec / StoptoggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView,                                 boolean isChecked) {        if (isChecked) {            speech.setRecognitionListener(VoiceRecognitionActivity.this);            progressBar.setVisibility(View.VISIBLE);            progressBar.setIndeterminate(true);            speech.startListening(recognizerIntent);        } else {            progressBar.setIndeterminate(false);            progressBar.setVisibility(View.INVISIBLE);            speech.stopListening();            speech.destroy();        }    }});这是主要活动.java// Menu itemspublic boolean onOptionsItemSelected(MenuItem item){switch (item.getItemId()) {    case R.id.copy:        break;}switch (item.getItemId()) {    case R.id.share:        break;}switch (item.getItemId()) {    case R.id.clear:        break;}switch (item.getItemId()) {    case R.id.about:        break;}return super.onOptionsItemSelected(item);}
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

在 的每个条件中,检查切换按钮的状态,如果选中了,请避免在其中执行进一步的操作。也不要使用多开关,你必须在其中定义多个案例,请参阅下面的代码。switch...case


switch (item.getItemId()) {

    case R.id.copy:

        if(toggleButton.isChecked()) {

             //display warning message

        } else {

             // your regular code here

        }

        break;


    case R.id.share:

        if(toggleButton.isChecked()) {

             //display warning message

        } else {

             // your regular code here

        }

        break;


    case R.id.clear:

        if(toggleButton.isChecked()) {

             //display warning message

        } else {

             // your regular code here

        }


        break;


    case R.id.about:

        if(toggleButton.isChecked()) {

             //display warning message

        } else {

             // your regular code here

        }

        break;

}


查看完整回答
反对 回复 2022-09-14
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

您可以使用此代码实现该目标


  switch (item.getItemId()) {

   case R.id.copy:

    if(toggleButton.isChecked()) {

          menu.findItem(R.id.copy).setEnabled(false);

    } else {

         menu.findItem(R.id.copy).setEnabled(true);

    }

    break;


//you do the same for the rest of menu buttons

 }


查看完整回答
反对 回复 2022-09-14
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信