EditText 不显示翻译,而 Logcat 显示
EditText is not displaying translation while Logcat does
我正在使用 Yandex.Translate API 来翻译字符串。正如 logcat 中所见,它确实如此成功。但是,当我将 EditText 值 (eText) 设置为翻译结果时,它无法正确解析数据并显示类似 {"code":200,"lang":"en-ru","text":["Он не работает!"]},第二个结果而不是第一个要求的结果,即 "Он не работает!"
2019-06-11 02:36:57.917 14680-
14731/com.bahraindiction.goldeneagle.sightling D/Translation Result:: Он
не работает!
2019-06-11 02:36:57.918
1468014680/com.bahraindiction.goldeneagle.sightling D/Translation Result:
{"code":200,"lang":"en-ru","text":["Он не работает!"]}
TranslatorBackgroundTask translatorBackgroundTask= new TranslatorBackgroundTask(context);
String translationResult = null; // Returns the translated text as a String
try {
translationResult = translatorBackgroundTask.execute(textToBeTranslated,languagePair).get();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.d("Translation Result",translationResult); // Logs the result in Android Monitor
eText.setText(translationResult);
}
如上所示,Log.d 正确显示翻译结果并显示 "unparsed" 翻译,而 eText 仅显示未解析的结果。
translationResult 是 JSON 格式,请先解析 JSON 并选择文本字符串并设置为 eText。您可以使用 gson 或类似的库来解析 JSON.
我正在使用 Yandex.Translate API 来翻译字符串。正如 logcat 中所见,它确实如此成功。但是,当我将 EditText 值 (eText) 设置为翻译结果时,它无法正确解析数据并显示类似 {"code":200,"lang":"en-ru","text":["Он не работает!"]},第二个结果而不是第一个要求的结果,即 "Он не работает!"
2019-06-11 02:36:57.917 14680-
14731/com.bahraindiction.goldeneagle.sightling D/Translation Result:: Он
не работает!
2019-06-11 02:36:57.918
1468014680/com.bahraindiction.goldeneagle.sightling D/Translation Result:
{"code":200,"lang":"en-ru","text":["Он не работает!"]}
TranslatorBackgroundTask translatorBackgroundTask= new TranslatorBackgroundTask(context);
String translationResult = null; // Returns the translated text as a String
try {
translationResult = translatorBackgroundTask.execute(textToBeTranslated,languagePair).get();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.d("Translation Result",translationResult); // Logs the result in Android Monitor
eText.setText(translationResult);
}
如上所示,Log.d 正确显示翻译结果并显示 "unparsed" 翻译,而 eText 仅显示未解析的结果。
translationResult 是 JSON 格式,请先解析 JSON 并选择文本字符串并设置为 eText。您可以使用 gson 或类似的库来解析 JSON.