[英]How to getActivity() in a static method?
我想從另一個類調用method1,但是如何在靜態方法中使用getActivity()? 我只找到FragmentActivity或其他類型的示例。 很抱歉,如果這個問題已經在其他地方得到解答,但是我找不到我可以在代碼中實現的任何東西。 任何幫助表示贊賞。
public class Tab1 extends Fragment {
public static String readFromFileKurs(Context ctx) {
ret = "";
try {
InputStream inputStream = ctx.openFileInput("configkurs.txt");
if ( inputStream != null ) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ( (receiveString = bufferedReader.readLine()) != null ) {
stringBuilder.append(receiveString);
}
inputStream.close();
ret = stringBuilder.toString();
}
}
catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}
return ret;
}
public static void method1(){
temp = readFromFile(getActivity());
}
}
您不能使用getActivity()
,因為它是靜態方法,因此無法訪問活動/片段的方法。 您可能希望將活動作為參數傳遞(因為必須從某些非靜態方法調用method1
)。
但是,根據您的情況,您不需要特定的活動-只需一個上下文,任何上下文-因此應用程序上下文就足夠了。 有關更多信息,請參閱此SO問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.