Logcat时EditText不显示翻译

时间:2019-06-10 23:50:47

标签: android translate yandex yandex-api

我正在使用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正确显示翻译后的结果并显示“未分析”的翻译,而eText仅显示未分析的结果。

1 个答案:

答案 0 :(得分:1)

translationResult为JSON格式,请先解析该JSON,然后选择文本字符串并将其设置为eText。您可以使用gson或类似的库来解析JSON。