Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从astatic类获取应用程序_Java_Android - Fatal编程技术网

Java 从astatic类获取应用程序

Java 从astatic类获取应用程序,java,android,Java,Android,我试图从静态类访问应用程序,但出现此错误 类型PniemActivity.MyFragmentAdapter的方法getActivity()未定义 但当我不使用getActivity()时,会收到以下消息: 无法从类型活动对非静态方法getApplication()进行静态引用 这是我的密码 private static class MyFragmentAdapter extends FragmentPagerAdapter{ private final int NUM_OF_PAGES

我试图从静态类访问应用程序,但出现此错误

类型PniemActivity.MyFragmentAdapter的方法getActivity()未定义

但当我不使用getActivity()时,会收到以下消息:

无法从类型活动对非静态方法getApplication()进行静态引用

这是我的密码

private static class MyFragmentAdapter extends FragmentPagerAdapter{
    private final int NUM_OF_PAGES = 10;

    public MyFragmentAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int index){
        return PageFragment.newInstance("Hoi "+ index );

    }

    @Override
    public int getCount(){
    appData = ((myApp) getActivity().getApplication()).slaughterData;

        return NUM_OF_PAGES;


    }


}
我想从数据库中获取所需的片段数量,这就是为什么我想访问我的应用程序

有什么想法吗


如果从数据库获取计数是唯一一个这样做的原因,那么就从getCount()方法查询数据库,谢谢

如果您确实想通过静态字段获取活动(这通常是不好的): 活动:

public static MyActivity instance;

onCreate(){
  instance = this;

}
应用程序中的任意位置:

MyActivity instance = MyActivity.instance;

使用此解决方案可能会遇到麻烦,因此请注意。我在Java中工作,但无法保证它在Android中的工作方式。

据我所知,getActivity()是一个Fragment上的方法,而不是FragmentPageAdapter上的方法。(你提到过),但我可能会按照弗拉基米尔在评论中的建议:

  • 将扩展应用程序的类添加到AndroidManifest:
  • 实现一个单例模式(使用getInstance方法),或者简单地向应用程序子类添加一个公共静态引用

  • 扩展应用程序类,在AndroidManifest中定义,在应用程序类上实现单例模式。