Question

I am trying to open an activity from Listfragment as below

@Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        ((MenuActivity)getActivity()).getSlideoutHelper().close();
        Intent myIntent = new Intent(getActivity(), TravellerTimer.class);
        getActivity().startActivity(myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY));

    }

i registered the TimeTraveller activity in manifest file but still its giving ActivityNotFoundException

Below is my log trace

04-19 17:14:00.030: E/AndroidRuntime(12188): FATAL EXCEPTION: main
04-19 17:14:00.030: E/AndroidRuntime(12188): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.vpiabstest/com.example.activity.TravellerTimer}; have you declared this activity in your AndroidManifest.xml?
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1556)
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.app.Activity.startActivityForResult(Activity.java:3446)
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.app.Activity.startActivityForResult(Activity.java:3407)
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:674)
04-19 17:14:00.030: E/AndroidRuntime(12188):    at android.app.Activity.startActivity(Activity.java:3617)

below is my manifest file

< application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <receiver android:name=".service.ActivityService" />
    <receiver
        android:name=".service.StartupService"
        android:enabled="true"
        android:exported="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

    <activity android:name="SampleActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MenuActivity"
        android:label="@string/app_name"
        android:theme="@style/MenuTheme" >
    </activity>
    <activity
        android:name=".VpiAbsTestActivity"
        android:theme="@style/Theme.VPI" />
    <activity
        android:name="com.example.activity.CreateTimer"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    <activity
        android:name="com.example.activity.EditTimer"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    <activity
        android:name="com.example.activity.FakeCall"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    <activity
        android:name="com.example.activity.ContactList"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    <activity
        android:name="com.example.activity.TravellerTimer"
        android:configChanges="keyboardHidden|orientation|screenSize" />
    <activity
        android:name="com.example.activity.TimerPrefrence"
        android:configChanges="keyboardHidden|orientation|screenSize" />

< /application>

Any help is appreciated. thanks

Was it helpful?

Solution

Make sure that you have registered the Activity with full correct package name in the manifest

OTHER TIPS

Try the current class object using 'this' keyword to call your activity in the intent parameter .

Intent myIntent = new Intent(this.Urcurrentactivity, TravellerTimer.class);      this.Urcurrentactivity.startActivity(myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY));

Your code should also work but by just seeing this quotes, i cant make it sure .

By seeing your code in PasteBin:

ArrayList<ActiveTimer> timerLists = new ArrayList<ActiveTimer>();
timerLists = ((TimerPrefrence) getApplication()).viewTimer();

you are trying to cast TimerPrefrence to an ActiveTimer ArrayList. That is the reason you are getting Class cast exception.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top