java - 如何在静态方法中获取Activity()?

标签 java android-activity fragment

我想从另一个类调用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(),因为它是静态方法,因此无法访问 Activity/片段的方法。您可能希望将 Activity 作为参数传递(因为 method1 必须从某些非静态方法调用)。

但是,在您的情况下,您不需要特定的 Activity - 只需一个上下文,任何上下文 - 因此应用程序上下文就足够了。引用This SO question了解更多信息。

关于java - 如何在静态方法中获取Activity()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26518638/

相关文章:

java - 仅此网站无法拖放 Selenium

android - 通过 Intent 共享后删除文件

java - 如何将文本值从 ViewHolder 发送到 ItemTouchHelper 类?

android - 通过 ACTION_MAIN 启动 Activity 时出现 ActivityNotFoundException

android - 在 ViewPager2 中是否有特殊的解决方案?

java - 重启 weblogic 服务器后第一次 Loadtest 失败

java - java中传递副本后返回相同值的函数

javax 父子之间的持久关系。最后一个 child 又是另一个 child 的 parent

java - Eclipse如何编译变量在另一个文件中声明的jsp片段?

android - 将 RoboFragment 与 FragmentManager 结合使用