gpt4 book ai didi

Android:在运行时启用/禁用按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:22 28 4
gpt4 key购买 nike

好的,所以我有两个按钮。第一个是“加载文本”,第二个是“说出来”。

现在,我不希望在没有加载文本时“说话”按钮处于 Activity 状态。

我已经设法通过 Load Text 按钮的 onClickListener 方法将值设置到 EditText 中。在我调用的同一方法中,

btnSpeak.setEnabled(true);

我已经将其初始化为,

btnSpeak = (Button) findViewById(R.id.button1);

整个编码是,

@Override
public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {

int result = tts.setLanguage(Locale.US);

if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
btnSpeak.setEnabled(true);
//for checking
if(btnSpeak.isEnabled())
{
Toast.makeText(SimpleAndroidOCRActivity.this, "Button should work!", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(SimpleAndroidOCRActivity.this, "Button should not work!", Toast.LENGTH_SHORT).show();
}
}

} else {
Log.e("TTS", "Initilization Failed!");
}

}

这是为了检查状态并将语言分配给 TTS 以供进一步使用。我得到了 toast “按钮应该工作”,但它没有被启用。为什么会这样?解决方法是什么?

我在 .xml 文件中有,

<Button
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_width="200dp"
android:enabled="false"
android:text="@string/tts_text" />

我应该在这里启用它然后在运行时禁用和启用吗?

最佳答案

@Override
public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {

int result = tts.setLanguage(Locale.US);

if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
btnSpeak.setEnabled(true);
//for checking
if(btnSpeak.isEnabled())
{
btnSpeak.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
YourVoicemethod();

Toast.makeText(SimpleAndroidOCRActivity.this, "Button should work!", Toast.LENGTH_SHORT).show();
}


});
}
else
{
Toast.makeText(SimpleAndroidOCRActivity.this, "Button should not work!", Toast.LENGTH_SHORT).show();
}
}

} else {
Log.e("TTS", "Initilization Failed!");
}

}

关于Android:在运行时启用/禁用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16168716/

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