1

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.

Daniele D.
  • 2,624
  • 3
  • 36
  • 42
Sai Barker
  • 83
  • 3
  • 13
  • Side note : In Java, class names always should begin with a capital letter, so you'd better use CheckListActivity – Ridcully Dec 13 '14 at 09:52
  • Get rid of that `` block in the checkListActivity` manifest declaration and use the approach in the answer from Haresh Chhelana. – Squonk Dec 13 '14 at 10:06

1 Answers1

1

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.

Haresh Chhelana
  • 24,720
  • 5
  • 57
  • 67