获取ActivityNotFoundException,即使它应该存在

时间:2012-02-17 13:56:02

标签: android android-intent

还有另外一个,但是那些发布的答案都没有帮助。

我基本上只是试图从另一个开放一个活动。 错误如下:

E/AndroidRuntime(25932): android.content.ActivityNotFoundException: Unable to find explicit activity class {org.softnux.android.lists/android.app.ListActivity}; have you declared this activity in your AndroidManifest.xml?

清单:

<uses-sdk android:minSdkVersion="7" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".ListsActivity"
        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>

    <activity android:name=".ListActivity" ></activity>
</application>

我的主要活动:


package org.softnux.android.lists;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class ListsActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lists);

        Button intentTestButton = (Button) findViewById(R.id.intentTestButton);

        intentTestButton.setOnClickListener(new Button.OnClickListener()
        {

            public void onClick(View v)
            {
                Intent showListViewIntent = new Intent(ListsActivity.this,
                        ListActivity.class);
                startActivity(showListViewIntent);
            }

        });
    }
}

我正在尝试打开的活动:


package org.softnux.android.lists;

import android.app.Activity;
import android.os.Bundle;

public class ListActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
    }

}


1 个答案:

答案 0 :(得分:4)

此处导致问题的名称ListActivity

Intent showListViewIntent = new Intent(ListsActivity.this, ListActivity.class);
startActivity(showListViewIntent);

因为你有导入

import android.app.ListActivity;

导入android框架提供的ListActivity

解决方案:

尝试删除该导入。

推荐方式是将您的Activity重命名为ListActivity以外的名称