简单java类中的getResources()错误
我对学习Recyclerview所遵循的简单教程代码有问题。 首先,我创建一个类来表示项,如:简单java类中的getResources()错误,java,android,Java,Android,我对学习Recyclerview所遵循的简单教程代码有问题。 首先,我创建一个类来表示项,如: package tom_d.fr.testrecyclerview; import android.content.res.Resources; import java.util.ArrayList; public class Planete { public String mNom; public int mDistance; protected ArrayList&l
package tom_d.fr.testrecyclerview;
import android.content.res.Resources;
import java.util.ArrayList;
public class Planete {
public String mNom;
public int mDistance;
protected ArrayList<Planete> mListe;
Planete(String nom, int distance) {
mNom = nom; // nom de la planète
mDistance = distance; // distance au soleil en Gm
Resources res = getResources();
final String[] noms = res.getStringArray(R.array.noms);
final int[] distances = res.getIntArray(R.array.distances);
mListe = new ArrayList<Planete>();
for (int i=0; i<noms.length; ++i) {
mListe.add(new Planete(noms[i], distances[i]));
}
}
如何进行?我只想访问带有数组的xml文件:(
我也在stackoverflow和其他网站上搜索了这个错误,但没有功能性的答案
我想我犯了一个错误,但我不知道在哪里:/您需要一个上下文来访问资源。请将活动中的上下文传递给您的班级
Planete(Context context, String nom, int distance) {
Resources res = context.getResources();
}
Planete(Context context, String nom, int distance) {
Resources res = context.getResources();
}
然后在你的活动中
new Planete(this, "sample", 1);
像这样改变你的班级
public class Planete {
private Context context;
public String mNom;
public int mDistance;
protected ArrayList<Planete> mListe;
Planete(Context context, String nom, int distance) {
mNom = nom; // nom de la planète
mDistance = distance; // distance au soleil en Gm
Resources res = context.getResources();
final String[] noms = res.getStringArray(R.array.noms);
final int[] distances = res.getIntArray(R.array.distances);
mListe = new ArrayList<Planete>();
for (int i=0; i<noms.length; ++i) {
mListe.add(new Planete(noms[i], distances[i]));
}
}
}
公共类飞机{
私人语境;
公共字符串mNom;
公众立场;
受保护的阵列列表;
平面(上下文、字符串名称、整数距离){
mNom=nom;//计划名称
mDistance=距离;//太阳的距离
Resources res=context.getResources();
最终字符串[]noms=res.getStringArray(R.array.noms);
最终int[]距离=res.getIntArray(R.array.distance);
mListe=newarraylist();
对于(int i=0;i您不能直接使用“资源”,
因为这是一个外部类文件。而这个外部类文件的使用位置未知
如果使用getAplicationContext(),则它仍然不允许访问资源
因此,您可以将项目资源与它调用或使用的那些活动的上下文一起使用
Planete(Context context, String nom, int distance) {
Resources res = context.getResources();
}