如何将统计文本更改为String?

时间:2015-12-02 16:46:34

标签: android android-activity

人。 我想替换可以从strings.xml接收文本的代码的统计代码(在本例中为“App Name”:

private final static String APP_TITLE = "App name";

这是full code

谢谢!

P.S。不,getString不起作用(

3 个答案:

答案 0 :(得分:0)

如果您想更改属性值,请不要将其设为最终静态。 相反,你应该这样做:

private  String appTitle = "App name";

答案 1 :(得分:0)

如果我理解正确,您希望静态字符串字段包含资源中的值? 您无法从资源初始化静态字符串,因为此时资源不可用。你能做的是

private static final int RES_ID = R.String.app_name;

并在调用APP_TITLE的任何地方调用getString(RES_ID)(或只调用一次并保存到变量中)

答案 2 :(得分:0)

您的主要问题是您没有获取资源的背景信息。这可以通过在初始化此字段之前获取上下文来解决。可能的解决方法是创建public void execute(Tuple input, BasicOutputCollector collector) { String id = input.getSourceComponent(); System.out.println("Stream Id in StreamMergingBolt is " + "---->" + id); } 类,将其设置为静态字段,然后在Application中使用此字段来获取所需的字符串。

申请类:

Activty

在清单中注册:

public class AppContext extends Application {

   public static Context cntx;
    @Override
    public void onCreate() {
        super.onCreate();
        cntx=getApplicationContext();
    }
}

的活动:

  <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="Test"
        android:name=".AppContext"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Main2Activity"
            android:label="Test" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>