如何以编程方式从类文件加载字符串资源,而不是活动:
这是我的Strings.xml
<!-- FactBook Resource -->
<string-array name="facts">
<item>facts 1</item>
<item>facts 2</item>
...
</string-array>
这是我的班级文件
public class FactBook {
public String[] mFacts;
mFacts = getResources().getStringArray(R.array.facts);
public String getFact() {
String fact = "";
// Randomly select a fact
Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt(mFacts.length);
fact = mFacts[randomNumber];
return fact;
}
}
我得到了一个错误。 - 无效的方法声明,需要返回类型。
答案 0 :(得分:2)
您需要创建Constructor
并传递Context
作为第一个参数。
public class FactBook {
public String[] mFacts;
Context context;
public FactBook(Context con){
context=con;
mFacts =con.getResources().getStringArray(R.array.facts);
}
public String getFact() {
String fact = "";
// Randomly select a fact
Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt(mFacts.length);
fact = mFacts[randomNumber];
return fact;
}
}
现在,您将此Facebook
类称为
FactBook fb=new Facebook(your_Activity.this);
String str=fb.getFact();