Je continue d'obtenir l'exception classnotfound lorsque j'essaie d'exécuter mon projet sur un émulateur. J'ai regardé autour ici avant de poster cette question, j'ai essayé d'ajouter des bibliothèques au chemin de construction, nettoyant/construisant le projet mais n'ai pas encore résolu le problème.Android ClassNotFoundException utilisant la bibliothèque actionbarsherlock
Le projet a été construit à partir d'un projet de calendrier open source. Donc le nom est bizarre, mais n'a aucun effet sur la construction.
Voici le LogCat:
09-03 12:37:36.990: E/Trace(2272): error opening trace file: No such file or directory (2)
09-03 12:37:37.439: W/dalvikvm(2272): Unable to resolve superclass of Lcom/squareup/timessquare/sample/DashboardActivity; (453)
09-03 12:37:37.482: W/dalvikvm(2272): Link of class 'Lcom/squareup/timessquare/sample/DashboardActivity;' failed
09-03 12:37:37.482: D/AndroidRuntime(2272): Shutting down VM
09-03 12:37:37.482: W/dalvikvm(2272): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
09-03 12:37:37.540: E/AndroidRuntime(2272): FATAL EXCEPTION: main
09-03 12:37:37.540: E/AndroidRuntime(2272): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.squareup.timessquare.sample/com.squareup.timessquare.sample.DashboardActivity}: java.lang.ClassNotFoundException: com.squareup.timessquare.sample.DashboardActivity
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread.access$600(ActivityThread.java:130)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.os.Looper.loop(Looper.java:137)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-03 12:37:37.540: E/AndroidRuntime(2272): at java.lang.reflect.Method.invokeNative(Native Method)
09-03 12:37:37.540: E/AndroidRuntime(2272): at java.lang.reflect.Method.invoke(Method.java:511)
09-03 12:37:37.540: E/AndroidRuntime(2272): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-03 12:37:37.540: E/AndroidRuntime(2272): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-03 12:37:37.540: E/AndroidRuntime(2272): at dalvik.system.NativeStart.main(Native Method)
09-03 12:37:37.540: E/AndroidRuntime(2272): Caused by: java.lang.ClassNotFoundException: com.squareup.timessquare.sample.DashboardActivity
09-03 12:37:37.540: E/AndroidRuntime(2272): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
09-03 12:37:37.540: E/AndroidRuntime(2272): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-03 12:37:37.540: E/AndroidRuntime(2272): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
09-03 12:37:37.540: E/AndroidRuntime(2272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
Et voici la classe déclarée dans le manifeste:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.squareup.timessquare.sample"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />
<application
android:label="@string/app_name"
android:icon="@drawable/supporticon"
android:debuggable="true"
android:supportsRtl="true">
<activity
android:name=".DashboardActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize|keyboardHidden"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Voici le contenu de classe:
public class DashboardActivity extends SherlockFragmentActivity {
ActionBar mActionBar;
ViewPager mPager;
Tab tab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dashboard);
// Activate the navigation mode tabs
mActionBar = getSupportActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Locate the view pager in dashboard.xml
mPager = (ViewPager) findViewById(R.id.pager);
// Activate the fragment manager
FragmentManager fm = getSupportFragmentManager();
// Capture view pager swipes
ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
// Find the view pager position
mActionBar.setSelectedNavigationItem(position);
}
};
mPager.setOnPageChangeListener(ViewPagerListener);
// Locate the adapter class
ViewPagerAdapter viewpageradapter = new ViewPagerAdapter(fm);
// Set the view pager adapter in ViewPager
mPager.setAdapter(viewpageradapter);
// Capture the button clicks
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// Pass the position on tab click to view pager
mPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
};
// Create the first tab
tab = mActionBar.newTab().setText("Support Tab")
.setTabListener(tabListener);
mActionBar.addTab(tab);
// Create the second tab
tab = mActionBar.newTab().setText("Students Tab")
.setTabListener(tabListener);
mActionBar.addTab(tab);
}
}
Les seules questions que je peux penser est-ce quand je fais un clic droit sur mon projet> propriétés du projet> Android la référence actionbarsherlock a une croix rouge ide it. Même s'il n'y a pas d'erreur dans mes classes où j'ai utilisé la bibliothèque, je ne suis pas sûr que cela ait quelque chose à voir avec ça.
Toute aide serait appréciée, merci.
Lorsque j'ajoute la bibliothèque après l'avoir copiée dans Eclipse, il y a une coche verte en regard. Après avoir cliqué sur OK et revenir aux propriétés, il est de nouveau rouge. Je ne sais toujours pas pourquoi cela se passe, j'ai essayé de stocker actionbarsherlock est divers endroits, mais arrive quand même? – hannahharkness