我已经遍历了许多适用于Android的文本到语音示例,但我认为确实很简单,但是我无法终生解决!
我只希望能够查看EXTRA_AVAILABLE_VOICES的输出(例如),该输出根据ArrayList返回this link.关于如何以编程方式处理此类输出的示例很多,但是为了我的学习和理解,我希望自己查看实际返回的数据.
我的项目完全按照android开发人员示例from here进行设置
// We now return the list of available and unavailable voices
// as well as the return code.
Intent returnData = new Intent();
returnData.putStringArrayListExtra(
TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES, available);
returnData.putStringArrayListExtra(
TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES, unavailable);
setResult(result, returnData);
finish();
}
理想情况下,我想在字符串的简单TextView中的“常量值”之后显示输出,但是我无法实现这一点,尽管我付出了很多努力,也无法在ListView中获取它……请有人帮我解决这个问题!
一旦知道如何查看返回的数据,便可以继续遵循如何正确处理数据的示例.
>我没有包含任何我已经尝试过的代码,因为我在任何地方都找不到示例,而且纯粹是猜测工作(我很尴尬地展示!)
提前致谢.
最佳答案
对于曾经坚持使用同一事物的任何人,我使用下面的代码,从发现的here示例中进行编辑:
ArrayList available = data
.getStringArrayListExtra("availableVoices");
Log.v("languages count", String.valueOf(available.size()));
Iterator iter = available.iterator();
while (iter.hasNext()) {
String lang = iter.next();
Locale locale = new Locale(lang);
Log.v(TAG, "language: " + lang);
Log.v(TAG, "language locale: " + locale.toString());
TextView LocaleResults = (TextView) getView().findViewById(
R.id.textViewConfig);
LocaleResults.append("
Available Engine Language: " + lang);
}
ArrayList unavailable = data
.getStringArrayListExtra("unavailableVoices");
Log.v("languages count", String.valueOf(unavailable.size()));
Iterator iteru = unavailable.iterator();
while (iteru.hasNext()) {
String ulang = iteru.next();
Locale ulocale = new Locale(ulang);
Log.v(TAG, "ulanguage: " + ulang);
Log.v(TAG, "ulanguage locale: " + ulocale.toString());
TextView LocaleResults = (TextView) getView().findViewById(
R.id.textViewConfig);
LocaleResults.append("
Unavailable Engine Language: " + ulang);
}