gpt4 book ai didi

java - 录制按钮处于 Activity 状态时禁用其他按钮

转载 作者:行者123 更新时间:2023-11-30 10:05:10 26 4
gpt4 key购买 nike

我在菜单中有 4 个项目和 1 个按钮 Rec/Stop。我想,当 Rec 按钮处于 Activity 状态并进行记录时,菜单项中的其他 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="" />

这是 tbutton.xml

<item android:drawable="@drawable/rec"
android:state_checked="false" />

<item android:drawable="@drawable/stop"
android:state_checked="true" />

这是MainActivity.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();

}

}
});

这是MainActivity.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);
}

最佳答案

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

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;
}

关于java - 录制按钮处于 Activity 状态时禁用其他按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com