EditText 不显示翻译,而 Logcat 显示

Posted

技术标签:

【中文标题】EditText 不显示翻译,而 Logcat 显示【英文标题】:EditText is not displaying translation while Logcat does 【发布时间】:2019-06-10 23:50:47 【问题描述】:

我正在使用 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】:

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

【讨论】:

我刚刚检查了我要导入以解析文本的类。一开始我很愚蠢,没有注意到它,我正要删除这个问题,但你先回答了。无论如何,谢谢你,我会把这个问题留给像我这样的愚蠢的人在未来提出这个问题:) 没关系,这种小事一直在发生。很高兴听到这个消息,你自己也这么认为。

以上是关于EditText 不显示翻译,而 Logcat 显示的主要内容,如果未能解决你的问题,请参考以下文章

android布局如何实现显示填满整个手机屏幕,EditText如何设置能使其样式不随输入内容太多而发生变化。

ActivityNotFoundException 意图 + 小部件

Eclipse 在 Logcat 中显示空白消息

android------解决editText只输入一行和textView不显示过多的内容

android------解决editText只输入一行和textView不显示过多的内容

Logcat 只显示警告,不显示错误