Android 启动新活动,但使用与前一个相同的类名

Android 启动新活动,但使用与前一个相同的类名,android,android-activity,Android,Android Activity,我一直试图找到以下问题的解决方案,但没有成功: 我有一个活动类,它显示需要记录的网页(演示文稿)(用户输入的内容、持续时间等)。在某些页面上,有一些按钮可以打开新的演示文稿。 调用活动-CLMWebView.class: Intent intent = new Intent(this, CLMWebView.class); this.startActivity(intent); 在这些代码行之间是一些intent.putExtra,我相信这与此无关。 如您所见,我正在尝试使用与调用活动相同的类

我一直试图找到以下问题的解决方案,但没有成功: 我有一个活动类,它显示需要记录的网页(演示文稿)(用户输入的内容、持续时间等)。在某些页面上,有一些按钮可以打开新的演示文稿。 调用活动-CLMWebView.class:

Intent intent = new Intent(this, CLMWebView.class);
this.startActivity(intent);
在这些代码行之间是一些intent.putExtra,我相信这与此无关。 如您所见,我正在尝试使用与调用活动相同的类启动新活动。然而,什么也没有发生。有什么想法吗

编辑: CLMWebView.class的Android清单

<activity android:name="com.msoft.views.CLMWebView"
    android:configChanges="orientation|keyboard" 
    android:icon="@drawable/svicon" 
    android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.PICK"/>
            <action android:name="android.intent.action.CHOOSER" />
            <action android:name="android.intent.action.WEB_SEARCH" />
        </intent-filter>
</activity>

singleTop
活动,可见,在同一任务中不会重新创建

引用官方文件:

类似地,“单顶”活动的新实例也可能是 创建以处理新的意图。但是,如果目标任务已经存在 在其堆栈的顶部有一个活动的现有实例 实例将接收新的意图(在onNewIntent()调用中);一个新的 实例未创建。在其他情况下-例如,如果 “singleTop”活动的现有实例位于目标任务中, 但不是在堆栈的顶部,或者如果它在堆栈的顶部,但是 不在目标任务中-将创建并推送一个新实例 那一堆


更好的选择是将功能放在一个片段中,每次都向后堆栈添加一个新片段。

清单中活动的启动模式是什么?为什么要这样做?为什么不直接更改视图?@njzk2,因为对我来说,只需使用与前一个相同的功能打开新活动就更容易了。另外,每个打开的演示文稿都可以有与其他演示文稿链接的按钮……但是,如果我的问题没有解决方案,那么您的想法绝对值得考虑。我不认为打开一个新的但相同的活动会更容易。只需将所有init内容(包括setcontentview)放在init方法中,并在需要重新启动活动时调用它。谢谢,就是这样。谢谢大家的回复。不过,这是一个相当愚蠢的错误。。。