我试图让一个方法从txtfile中将文本转换为字符串。当我从它所在的同一个类调用该方法时,该方法正在工作(该类是一个活动)。但是当我从另一个类(普通类)调用它时,它需要是静态的。我对静态知之甚少,但该方法在静态时不工作。因为我需要从另一个类中调用方法,所以我需要该方法是非静态的,或者在静态时修复错误。下面是方法:非静态方法getAssets不能从静态上下文中引用(Java)(Android)
public static String loadData(String inFile) {
String str = "";
try{
StringBuilder buf=new StringBuilder();
InputStream json= getAssets().open(inFile);
BufferedReader in=
new BufferedReader(new InputStreamReader(json, "UTF-8"));
while ((str=in.readLine()) != null) {
buf.append(str);
}
in.close();
return buf.toString();
} catch (Exception e) {
Log.e("er0r", e.toString());
}
return str;
}
的方法是从类Solve.java叫:
public static void permutateYellowEdges(){
try {
Rotations.rotateSequence(MainActivity.loadData("tables\\topLayer\\edgePerm.rt"), States.getYellowEdgeState());
}catch(Exception e){
e.printStackTrace();
}
}
我得到的错误是一个红色的线下“getAssets”,它说:“非静态方法getAssets不能从静态上下文中引用“。 我该如何解决这个问题?
的可能的复制[什么是“非静态方法不能从静态上下文引用”背后的原因?](http://stackoverflow.com/questions/290884/what-is-the-reason-behind-non-static-method-cannot-被静态引用) –
这个非常有趣的'我不会听线程'的某些重复:http://stackoverflow.com/questions/43476217 – greenapps