Android: Activity not found exception
i am working in android. I want to make TabHost and Tab widget. this is my manifest:-
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pericent"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloTabWidget" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<Acivity android:name=".AlbumsActivity" android:label="@string/app_name" />
<activity android:name=".ArtistsActivity" android:label="@string/app_name" />
<Acivity android:name=".SongsActivity" android:label="@string/app_name" />
</application>
</manifest>
and this is my HelloTabWidget.java package com.pericent;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.widget.TabHost;
public class HelloTabWidget extends TabActivity {
private String TAG="HelloTabWidget";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent1; // Reusable Intent for each tab
Intent intent2;
Intent intent3;
intent2 = new Intent().setClass(this, AlbumsActivity.class);
Log.v(TAG,"---album activity is called---");
spec = tabHost.newTabSpec("albums").setIndicator("Albums",res.getDrawable(R.drawable.ic_tab_albums)).setContent(intent2);
tabHost.addTab(spec);
// Create an Intent to launch an Activity for the tab (to be reused)
intent1 = new Intent().setClass(this, ArtistsActivity.class);
Log.v(TAG,"---artist activity is called---");
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("artists").setIndicator("Artists",res开发者_运维问答.getDrawable(R.drawable.ic_tab_artists)).setContent(intent1);
tabHost.addTab(spec);
// Do the same for the other tabs
}
}
whenever i run this project this create an error that "Unable to start activity ComponentInfo{com.pericent/com.pericent.HelloTabWidget}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.pericent/com.pericent.AlbumsActivity}; have you declared this activity in your AndroidManifest.xml?"
but as you see i declared this class in manifest file. please check this and help to find out the mistake which i have done. Thank you in advance.
replace this code with your manifest file and clean the project then RUN
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pericent"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloTabWidget" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<acivity android:name=".AlbumsActivity" android:label="@string/app_name" />
<activity android:name=".ArtistsActivity" android:label="@string/app_name" />
<acivity android:name=".SongsActivity" android:label="@string/app_name" />
</application>
</manifest>
i think your tag name "Activity
" is non recognized so i made it "activity
"
I think problem is with your tag
<Acivity android:name=".AlbumsActivity" android:label="@string/app_name" />
Remove caps from Activity use small "a"
精彩评论