猿问

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

我在菜单中有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" />

这是主要活动.java


private ToggleButton toggleButton;


toggleButton = (ToggleButton) findViewById(R.id.recStop);


// Button Rec / Stop

toggleButton.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 items

public 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);

}


大话西游666
浏览 131回答 2
2回答

largeQ

在 的每个条件中,检查切换按钮的状态,如果选中了,请避免在其中执行进一步的操作。也不要使用多开关,你必须在其中定义多个案例,请参阅下面的代码。switch...caseswitch (item.getItemId()) {&nbsp; &nbsp; case R.id.copy:&nbsp; &nbsp; &nbsp; &nbsp; if(toggleButton.isChecked()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//display warning message&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// your regular code here&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; case R.id.share:&nbsp; &nbsp; &nbsp; &nbsp; if(toggleButton.isChecked()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//display warning message&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// your regular code here&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; case R.id.clear:&nbsp; &nbsp; &nbsp; &nbsp; if(toggleButton.isChecked()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//display warning message&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// your regular code here&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; case R.id.about:&nbsp; &nbsp; &nbsp; &nbsp; if(toggleButton.isChecked()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//display warning message&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// your regular code here&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; break;}

qq_花开花谢_0

您可以使用此代码实现该目标&nbsp; switch (item.getItemId()) {&nbsp; &nbsp;case R.id.copy:&nbsp; &nbsp; if(toggleButton.isChecked()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; menu.findItem(R.id.copy).setEnabled(false);&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;menu.findItem(R.id.copy).setEnabled(true);&nbsp; &nbsp; }&nbsp; &nbsp; break;//you do the same for the rest of menu buttons&nbsp;}
随时随地看视频慕课网APP

相关分类

Java
我要回答