Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多次启动同一活动_Java_Android_Android Activity - Fatal编程技术网

Java 多次启动同一活动

Java 多次启动同一活动,java,android,android-activity,Java,Android,Android Activity,我正在尝试创建一个BookReader,用户可以打开多本书来比较文本 所以我有MainActivity(图书列表)和 ReaderActivity(Activity that open the book) 我需要ReaderActivity打开多次示例: 我想要的是: 用户打开MainActivity,单击一本书,然后在选定的书上打开ReaderActivity 按Android进程列表(选择MainActivity),然后单击另一本书,这样我将以MainActivity(只有一个)和两个或更

我正在尝试创建一个BookReader,用户可以打开多本书来比较文本

所以我有
MainActivity(图书列表)

ReaderActivity(Activity that open the book)
我需要ReaderActivity打开多次示例:

我想要的是:

用户打开MainActivity,单击一本书,然后在选定的书上打开ReaderActivity

按Android进程列表(选择MainActivity),然后单击另一本书,这样我将以MainActivity(只有一个)和两个或更多ReaderActivity结束,这样他就可以使用进程列表轻松地更改btw书

但是发生了什么

用户打开MainActivity,单击一本书,然后在选定的书上打开ReaderActivity

按Android进程列表(选择主活动),然后单击另一本书,但是现在它打开了上一本书中的第二本书

我用来打开第二个活动(可以打开多个实例和多本书)的代码


PS:如果没有
新文档
,它会打开MainActivity=/

顶部的ReaderBook,我很困惑。是否希望在每次单击一本书时打开一本新书,并保留已选择的书的数量数据,最后在ReaderActivity类中进行比较?默认情况下,ReaderActivity将在MainActivity的顶部打开。您必须手动编辑后退按钮代码,以指示您要将命令发送到何处或禁用按钮。我也很困惑,请向我们展示您执行此操作的真实代码-上面的代码要么是没有意义的伪代码,要么是非常糟糕的真实代码@IbtehazShawon抱歉,我所说的比较只是视觉上的,想象一下Chrome浏览器在Android中是如何工作的,你打开一个新的选项卡,它就像Android任务管理器中的一个新活动一样显示出来,所以你可以轻松地进入任何你想要的选项卡,并多次这样做,而且你有很多选项卡,我想要这个behaviour@Blundell我编辑了代码,这样您就可以理解代码i=intent,并阅读我对IbtehazI的回答。我将简化您的标志,使其仅使用
intent.FLAG\u ACTIVITY\u NEW\u TASK
intent.FLAG\u ACTIVITY\u NEW\u DOCUMENT
,那么它是如何工作的呢?
Intent i = new Intent(this, ReaderActivity.class);
      i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
this.startActivity(i);