我將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;
}