我将Android 4.x代码转换为使用ActionBarSherlock,以便我们的应用程序可以与姜饼兼容。ClassNotFoundException当使用ActionBarSherlock启动Fragment与“newInstance”
目前为止还不错,但无法启动片段的新实例。
我的主活动延伸SherlockFragmentActivity
工具ActionBar.TabListener
。
代码在这里失败,这里的情况是0:
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
mFragmentProjects = ProjectsFragment.newInstance(position);
return mFragmentProjects;
case 1:
mFragmentContacts = FragmentPeople.newInstance(position, 0);
return mFragmentContacts;
}
return ArrayListFragment.newInstance(position);
}
在哪里的情况下为0它应该初始化片段,但我得到这个异常: ClassNotFoundException
。唯一的其他线索,我拥有的是: “本”在PathClassLoader
和“名”,它说android.app.ActionBar$TabListener
我想这已经是与TabListener或库不正确包含/加载? 我已经清理了项目。
片段ProjectsFragment扩展为SherlockListFragment
。
的newInstance是相当straitforward:
static ProjectsFragment newInstance(int num) {
ProjectsFragment f = new ProjectsFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}