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