【问题标题】:how can I define static var in android? [closed]如何在android中定义静态变量? [关闭]
【发布时间】:2017-06-29 16:38:52
【问题描述】:

我知道这段代码一定很简单。但是我没听懂。

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

我知道public final static String EXTRA_MESSAGE 定义了一个静态变量。

但什么是“com.example.myfirstapp.MESSAGE”?

代码是here

【问题讨论】:

  • 这是您成功定义为静态变量的字符串文字的值,这使得您完全不清楚您在问什么。
  • 如果您解释了 EXTRA_MESSAGE 的用途,人们理解起来就不会那么困难了。仅链接到它被认为是 SO 的不良做法。我怀疑它是一个意图的标识符,但我不熟悉 android 编程。

标签: java android android-studio static


【解决方案1】:

这只是传递给另一个活动的一些文本......这只是一个示例

在教程中,他们想展示如何向另一个活动发送额外的消息。

您可以通过在intent.putExtra(EXTRA_MESSAGE, message); 中添加一条额外消息来做到这一点,然后在另一个活动中,您可以使用String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 捕获它

EXTRA_MESSAGE 这里有一些标签或密钥,可以得到你想要的。

【讨论】:

    【解决方案2】:

    EXTRA_MESSAGE 被声明为string 所以,它是一个字符串类型variable 可以容纳字符串

    所以也可以这样

    public final static String EXTRA_MESSAGE = "any string or text here";
    

    【讨论】:

      【解决方案3】:

      EXTRA_MESSAGE 是一个,用于通过 Intent 传递 string
      例如:

          public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
          Intent i = new Intent(FirstScreen.this, SecondScreen.class);   
          String strName = null;
          i.putExtra("EXTRA_MESSAGE", strName);
      
          //Then, to retrieve the value try something like:
      
          String newString;
          if (savedInstanceState == null) {
              Bundle extras = getIntent().getExtras();
          if(extras == null) {
              newString= null;
          } else {
              newString= extras.getString("EXTRA_MESSAGE");
          }
          } else {
            newString= (String) savedInstanceState.getSerializable("EXTRA_MESSAGE");
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        相关资源
        最近更新 更多