好的,我有两个按钮。第一个是“加载文本”,第二个是“朗读”。
现在,如果没有加载文本,我不希望“朗读”按钮处于活动状态。
我已经通过“加载文本”按钮的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状态并为进一步使用分配语言的方法。我得到了“按钮应该工作”的提示,但它没有启用。为什么会这样?有什么解决方法吗?
在我的.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" />
我需要在运行时启用它吗?还是应该在此处启用,然后禁用并再次启用?