我試圖讓一個方法從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