質問

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

役に立ちましたか?

解決

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

他のヒント

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top