Edit: For a detailed how-to, check out my answer.
I'm struggling with it for two days now, hope someone can help.
I'm trying to use the newest ActionBarSherlock (4.0) with a MapView. I knew it's problematic with fragments, but I don't need them in this activity. But I need Loaders and it appears, that to use Loaders I have to extend the FragmentActivity too. No problem, I thought, we have the android-support-v4-googlemaps from Pete Doyle. As suggested on many SO threads and Google Groups I build the ABS with android-support-v4-googlemaps JAR (android-support-v13-r7-googlemaps.jar actually) instead of android-support-v4.jar. Then I used it as a library for my project.
Now, I would like to have my activity this way:
public class BananoutMapActivity extends SherlockFragmentActivity implements LoaderCallbacks<ArrayList<EventItem>>{
The problem:
It compiles, but throws a runtime error: E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity
Things I've triple checked:
- both ActionBarSherlock library project and my project are targeted at Google APIs 4.0.3
- I have
<uses-library android:name="com.google.android.maps" />
and I have it in the application tag.
- I also have the same android-support-v13-r7-googlemaps.jar in the build path of my project
- I have
.BananoutMapActivity
declared in my manifest
What is interesting:
When I run it on an ICS emulator it works (the error appears on 2.* emulators and my 2.3.7 device), on Honeycomb it would work too probably, it's the question of using the ACL I guess
When I remove the implements LoaderCallbacks<ArrayList<EventItem>>
part it works too, but this way I'm not able to use LoaderManager
Why on earth the NoClassDefFoundError error and how to get the Loaders working in my MapCapableSherlockEnabledFragmentActivity?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…