人。 我想替换可以从strings.xml接收文本的代码的统计代码(在本例中为“App Name”:
private final static String APP_TITLE = "App name";
这是full code。
谢谢!
P.S。不,getString不起作用(
答案 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>