Android Fragment getArguments()返回空指针异常
片段Android Fragment getArguments()返回空指针异常,android,android-fragments,Android,Android Fragments,片段getArguments()返回空指针异常。 已经连续一天在思考如何修复这个密码,整个互联网都在寻找答案。请帮帮我。像忠实的代码一样,但由于某种原因导致NullPointerException崩溃 我的英语很抱歉,但我想你明白我想问的。) //碎片 public static AppsManagerFragment userFragList(int a){ AppsManagerFragment f = new AppsManagerFragment(); Bundle bu
getArguments()
返回空指针异常。
已经连续一天在思考如何修复这个密码,整个互联网都在寻找答案。请帮帮我。像忠实的代码一样,但由于某种原因导致NullPointerException崩溃
我的英语很抱歉,但我想你明白我想问的。)
//碎片
public static AppsManagerFragment userFragList(int a){
AppsManagerFragment f = new AppsManagerFragment();
Bundle bundle = new Bundle();
bundle.putInt("secretKey", a);
f.setArguments(bundle);
return f;
};
public static AppsManagerFragment systemFragList(int a){
AppsManagerFragment f = new AppsManagerFragment();
Bundle bundle = new Bundle();
bundle.putInt("secretKey", a);
f.setArguments(bundle);
return f;
};
int getFragmentArg() {
return this.getArguments().getInt("secretKey"); // here there NPE
}
//活动
private FragmentTabHost mTabHost;
private DataApps dApps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.apps_manager_activity);
dApps = new DataApps(this);
// instance initialization
AppsManagerFragment userFrag = AppsManagerFragment.userFragList(1);
AppsManagerFragment systemFrag = AppsManagerFragment.systemFragList(2);
mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("Tab1"), userFrag.getClass(), null);
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("Tab2"), systemFrag.getClass(), null);
}
Fragment getArguments()返回空指针异常:
从您的代码中,我可以理解您正在返回片段的静态实例,但在getFragmentArg()
方法中,您正在访问片段的非静态实例。实际上,您应该遵循findFragmentByTag()
方法,然后在该实例上使用getArguments()
。它会解决你的问题
Fragment getArguments()返回空指针异常:
从您的代码中,我可以理解您正在返回片段的静态实例,但在getFragmentArg()
方法中,您正在访问片段的非静态实例。实际上,您应该遵循findFragmentByTag()
方法,然后在该实例上使用getArguments()
。它会解决你的问题