Android以编程方式加载字符串资源

时间:2015-01-02 09:33:30

标签: java android arrays xml android-studio

如何以编程方式从类文件加载字符串资源,而不是活动:

这是我的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;
    }
}

我得到了一个错误。 - 无效的方法声明,需要返回类型。

1 个答案:

答案 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();
相关问题