Android ActivityNotFound异常-已声明活动

Android ActivityNotFound异常-已声明活动,android,Android,我这样做是为了当用户单击列表视图中的某个项目时,他们会被带到另一个显示该项目的活动。然而,当我测试它时,它抛出ActivityNotFound异常,即使我在清单中已经明确定义了它。其他任何课程都不会发生这种情况。有没有关于如何修复的想法?下面是导致错误的代码行,特别是ctx.StartActivity listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItem

我这样做是为了当用户单击列表视图中的某个项目时,他们会被带到另一个显示该项目的活动。然而,当我测试它时,它抛出ActivityNotFound异常,即使我在清单中已经明确定义了它。其他任何课程都不会发生这种情况。有没有关于如何修复的想法?下面是导致错误的代码行,特别是ctx.StartActivity

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id ){
            xMessage = (String) parent.getItemAtPosition(position);
            y = true;
            setView(xMessage,R.layout.messageclicked, R.id.mS);

            ctx.startActivity(new Intent(getActivity(),showMessage.class));

        }

    });
listview.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
xMessage=(字符串)parent.getItemAtPosition(位置);
y=真;
setView(xMessage,R.layout.messageclicked,R.id.mS);
startActivity(新的意图(getActivity(),showMessage.class));
}
});
这是我声明类的清单部分:

<activity android:name = "com......showMessage" />

这个。。。。。。有没有办法隐藏敏感信息。基本上是com.x.y.showRide,这是此活动的正确文件路径。这是舱单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="......."
    android:versionCode="1"
    android:versionName="1.0" >

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

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.......SplashScreen"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:noHistory="true"
            android:screenOrientation="portrait"
            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="com.........MainMenu"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar" />
        <activity
            android:name="com........Register"
            android:configChanges="orientation|keyboardHidden"
            android:parentActivityName=".MainMenu"
            android:screenOrientation="portrait"
            android:theme="@style/.....Theme" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainMenu" />
        </activity>
        <activity
            android:name="com......SignIn"
            android:configChanges="orientation|keyboardHidden"
            android:parentActivityName=".MainMenu"
            android:screenOrientation="portrait"
            android:theme="@style/......Theme" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainMenu" />
        </activity>
        <activity android:name="com......MainNavigation" />
        <activity android:name="com........MainScreen" />
        <activity android:name="com.......MainActivity" />
        <activity
            android:name="com.RuMad.......FindARide"
            android:label="@string/title_activity_find_aride" >
        </activity>
        <activity android:name=".OfferRide"/>
        <activity android:name=".RequestRide"/>
        <activity android:name ="com......Compose"/>
        <activity android:name ="com.......IntendedUses"/>
        <activity android:name ="com.......showPreference"/>  
        <activity android:name = "com.......myRides"/>  
        <activity android:name = "com.......showMessage"/>
        <activity android:name ="com......OffRe"/>
        <activity android:name = "com......showRide" />    
        </application>

</manifest>

假设您当前的活动是MainActivity,请使用此行

startActivity(new Intent(MainActivity .this,showMessage.class))

解决此问题的一种方法是:

在承载此片段的活动中,创建一些函数,例如

public void startShowMessageActivity(){
       Intent intent = new Intent(this, showMessage.class);
       startActivity(intent);
}
在您的fragment类中,使用活动的上下文-ctx调用此方法,我相信(在您的代码中)

因此,本质上说,假设活动是MainActivity.java

(MainActivity(ctx)).startShowMessageActivity();
如果上述语句不起作用,请尝试

MainActivity obj = (MainActivity)getActivity();
obj.startShowMessageActivity();

希望这有帮助

您能显示完整的崩溃日志和清单文件吗?尝试使用getApplicationContext()而不是getActivity()?请发送您当前活动和清单的代码。我不知道如何在不发布屏幕截图的情况下显示完整的崩溃日志,我不能这么做,因为我的声誉不够高。试着清理一下你的项目,你确定吗?他正在调用getActivity,它只在片段中可用。因此,他试图从一个片段开始活动不,我不是,只是猜测,因为他没有发送完整的代码,即使我请求,请查看评论当我尝试使用您的方法时,它说我需要使方法静态,但startActivity()无法在静态方法中使用,因为它是非静态的OK..因此您可以创建MainActivity的实例(MainActivity对象=(MainActivity)getActivity),然后使用此对象调用函数。(object.startShowMessageActivity();)此外,还编辑了答案以包含上述注释。如果有问题,请告诉我