开发者

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"

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜