【问题标题】:How to setText of a Public String如何设置公共字符串的文本
【发布时间】:2015-08-23 12:44:03
【问题描述】:
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Translate.main(null);
      TextView textElement = (TextView) findViewById(R.id.this_is_id_name);
      textElement.setText(message);
      //leave this line to assign a specific text
    }
    // Separate Class calling Translate
    public final class Translate extends YandexTranslatorAPI {
      public final static String message = com.mohsen.transl.Translate.translation";
      //prevent instantiation
      private Translate(){};
      public static void main(String[] args) {
        try {
          setKey(ApiKeys.YANDEX_API_KEY);
          String translation = Translate.execute("The quick brown fox jumps over the lazy dog.", Language.ENGLISH, Language.SPANISH);
          System.out.println("Translation: " + translation);
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }

我正在尝试调用 translate 方法并将字符串翻译返回值存储到公共字符串消息中,并使用我在 MainActivity 类中的 main oncreate 显示。

我认为这是最简单的形式。请帮忙。

【问题讨论】:

  • 如果message 是最终版本,您将无法更改它。而且public final static String message的声明中少了一个引号,
  • public final static String message="com.mohsen.transl.Translate.translation";它不会随着 .translation 变量的变化而变化吗?
  • public final static String message=........ 应该在主类文件中。我纠正了这一点。它正在编译,但我得到了标签:com.mohsen.transl.transl.Translate.translation 作为我的文本。我想要那个标签中的内容

标签: java android string settext yandex-api


【解决方案1】:
class Translate extends YandexTranslatorAPI {
    public static String message;
    //prevent instantiation
    private Translate() {
    }
    public static void main(String[] args) {
        try {
            setKey(ApiKeys.YANDEX_API_KEY);
            String translation = Translate.execute("The quick brown fox jumps over the lazy dog.", Language.ENGLISH, Language.SPANISH);
            message = translation;
            System.out.println("Translation: " + translation);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

在你的 onCreate() 方法中

textElement.setText(Translate.message);

【讨论】:

  • 我认为可行。只有我没有得到任何回报。看来我必须再次检查翻译课程。和调试。但为了澄清:我尝试的另一种方式是声明 public final static String message = "com.mohsen.transl.translate.Translate.translation";我在显示屏上看到以下内容:com.mohsen.transl.translate.Translate.translation——显然不是我想要的。将其更改为我认为可行的 Translate.message。我将发布另一个关于调用 Translate (null) 的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 2019-08-15
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多