我在strings.xml中定义了所有文本名称/标签。
我发现R.string.
返回字符串的ID引用号。如何让它返回实际的字符串?
public class ResultsFileFormat{
public void getAllMeasData(){
System.out.println(" *** STRING ****" + (R.string.date));
// File text format
System.out.println(
R.string.file_name + fileName + "\n" +
R.string.date + date + "\n\n" +
R.string.cal_table_sn + calTableSn + "\n" +
R.string.cal_table_date + calDate + "\n" +
R.string.cal_temp + calTemp + " C" + "\n" +
R.string.ref_gauge + tableGaugeRef + "\n\n" +
R.string.gauge_val_min + gauge.minGauge + " " + tableGaugeMin + " (C)" + "\n" +
R.string.gauge_val_max + gauge.maxGauge + " " + tableGaugeMax + " (C)" + "\n" +
R.string.groove_val_min + groove.minGroove + " " + tableGrooveMin + " (C)" + "\n" +
R.string.groove_val_max + groove.maxGroove + " " + tableGrooveMax + " (C)" + "\n" +
R.string.xl_min_pos + crossLevelPos.xlPosLow + " " + xlLow + " (C)" + "\n" +
R.string.xl_max_pos + crossLevelPos.xlPosHigh + " " + xlHigh + " (C)" + "\n" +
R.string.xl_min_neg + crossLevelNeg.xlNegLow + " " + xlLow + " (C)" + "\n" +
R.string.xl_max_neg + crossLevelNeg.xlNegHigh + " " + xlHigh + " (C)" + "\n" );
}
}
答案 0 :(得分:0)
您可以使用属于Context Class的getResource方法
String filename = getResources()。getString(R.string.file_name);
的System.out.println(文件名);
答案 1 :(得分:0)
R.string.file_name将为您提供R.java文件中该项的id引用。如果你想获得实际的字符串,你需要像这样调用context.getResources().getString(R.string.file_name);
。由于您是从不是extends Activity
的类调用,因此您必须传递上下文或获取应用程序上下文。使用构造函数传递上下文。所以最终的代码看起来像。
private Context context = null;
public ResultsFileFormat(Context context){
this.context = context;
}
并获取资源
String fileName = context.getResources().getString(R.string.file_name);
我没有运行此代码,请尝试让我知道。
答案 2 :(得分:0)
您需要使用Context
的实例,您可以使用getResources().getString(R.string.<name>)
。
使用
Context context=getApplicationContext();
context.getResources().getString(R.string.<name>)
或者将Context
实例或Activity实例(getActivity()
或this
)传递给java类构造函数,并使用它来调用getResources()方法。
答案 3 :(得分:-1)
您可以将Application Context用于此目的。 您应该扩展Application类,如下所示
公共类ApplicationEx扩展了Application {
public static ApplicationEx appContext;
@Override
public void onCreate() {
super.onCreate();
appContext = this;
}
}
在清单文件的Application标记中注册Application类,如下所示
然后在您想要上下文的文件中,您可以像
一样访问它ApplicationEx.appContext.getString(R.string。)