Search code examples
androidclassnotfound

Android: ActivityNotFoundException


I'm new to android and java programming and I'm getting ActivityNotFoundException in my app.

Here these are the only two times the activity is called:

public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // TODO Auto-generated method stub
            String selectedItem = (String) lvCheckLists.getItemAtPosition(position);

            Intent i= new Intent("com.teamvdb.checklist.checkListActivity");
            // Package name and activity
            // Intent i= new Intent(MainActivity.this,SecondActivity.Class);
            // Explicit intents
            i.putExtra("selectedItem",selectedItem);
            // Parameter 1 is the key
            // Parameter 2 is your value
             startActivity(i);

             Intent openCheckListActivity = new ntent("com.teamvdb.checklist.checkListActivity");
             startActivity(openCheckListActivity);

        }
    }); 
}

And here there is my Android Manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.teamvdb.checklist"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="21" />

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

    <activity android:name=".MainActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />

    </intent-filter>
</activity>
    <activity android:name=".checkListActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.MAIN" />

    </intent-filter>
</activity>
</application>
</manifest>

I have spent the last 20 minutes trying to figure out what is wrong with it but I can't see the problem. And yes the class is spelled correctly.


Solution

  • Explicitly start checkListActivity :

    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
        String selectedItem = (String) lvCheckLists.getItemAtPosition(position);
        Intent i= new Intent(MainActivity.this,checkListActivity.class);
        i.putExtra("selectedItem",selectedItem);
        startActivity(i);
    });
    

    intent-filter not required for checkListActivity so remove it and define as simple in AndroidManifest.xml :

    <activity android:name=".checkListActivity"/>
    

    Note : Remove unneccsary code which start checkListActivity again.