Android - 从通用java类中获取R.string.x的String值

时间:2016-12-12 16:20:46

标签: java android

我为我的App创建了一个自定义对象的ArrayList。由于列表很长(大约350个元素),我决定创建一个单独的java类,它具有createListgetList方法:

public ArrayList<obj> getList(){
    return obj;
}

我需要从MainActivity获取列表。

我的自定义对象如下所示:

new Obj(int[] images, String name)

我似乎无法从strings.xml导入名称,因为此类不是活动且没有上下文。

我试过

Resources.getSystem().getString(R.string.c)

但是我得到了

  

ResourcesNotFound Exception

有办法吗?除此之外,我还需要将更多字符串连接成一个名称。

我真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

  

我似乎无法从strings.xml导入名称,因为此类不是Activity,也没有上下文。

CREATE OR REPLACE PACKAGE MyPackage IS CURSOR c_parse_xml IS SELECT 'A' c1, 1 c2 FROM dual; PROCEDURE proc1; PROCEDURE update_table_records( P_Rec IN c_parse_xml%ROWTYPE ); END MyPackage; CREATE OR REPLACE PACKAGE body MyPackage IS PROCEDURE proc1 IS BEGIN FOR c_rec IN c_parse_xml LOOP update_table_records( c_rec ); END LOOP; END proc1; PROCEDURE update_table_records( P_Rec IN c_parse_xml%ROWTYPE ) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN dbms_output.put_line(P_Rec.c1 || ' ' || P_rec.c2 ); END update_table_records; END MyPackage; 构造函数提供适当范围的Context。或者,将字符串本身提供给Obj构造函数,其中字符串通过Obj从其资源ID中解析。

  

我尝试使用Context,但我得到了Resources.getSystem().getString(R.string.c)

这是因为ResourcesNotFoundException为系统返回getSystem(),系统最多只知道Resources个资源。