Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 在Android Studio中对多个活动进行排序_Java_Android_Xml - Fatal编程技术网

Java 在Android Studio中对多个活动进行排序

Java 在Android Studio中对多个活动进行排序,java,android,xml,Java,Android,Xml,这里有一个更基本的问题,因为我对androidstudio不太熟悉,我也不确定在开发者指南或这里找到正确的短语是什么 我的问题: 我如何处理3个活动(A、B、C),从A开始,到B,然后在B和C之间进行不断的交换 当使用经典的意图调用方法时,从A到B一切都很好,但进一步操作会使我到达A而不是C。似乎会有一点延迟,然后出现一个白色屏幕,就像应用程序试图打开活动C但失败一样。 我正在通过所有这些活动传递一个可序列化对象。对象在A中创建和初始化。B显示对象中的信息,并允许用户更改其中的一些信息。让用户在

这里有一个更基本的问题,因为我对androidstudio不太熟悉,我也不确定在开发者指南或这里找到正确的短语是什么

我的问题:

我如何处理3个活动(A、B、C),从A开始,到B,然后在B和C之间进行不断的交换

当使用经典的意图调用方法时,从A到B一切都很好,但进一步操作会使我到达A而不是C。似乎会有一点延迟,然后出现一个白色屏幕,就像应用程序试图打开活动C但失败一样。 我正在通过所有这些活动传递一个可序列化对象。对象在A中创建和初始化。B显示对象中的信息,并允许用户更改其中的一些信息。让用户在我的对象中更改一个特殊的位置。换句话说,这个对象在B和C之间的交换中作为一个持久的位置来存储信息

A(主活动)中的意图调用:

在B中获取对象(游戏活动):

B中的意图调用(游戏活动):

在C中获取对象(InteractionActivity):

C中的意图调用(交互活动):

我的舱单:

清单xmlns:android=”http://schemas.android.com/apk/res/android"

package=“com.example.chronoplaton”>
应用
android:allowBackup=“true”
android:icon=“@mipmap/ic_启动器”
android:label=“@string/app\u name”
android:roundIcon=“@mipmap/ic_launcher_round”
android:supportsRtl=“true”
android:theme=“@style/AppTheme”>
活动android:name=“.InteractionActivity”>
活动android:name=“.GameActivity”>
活动android:name=“.MainActivity”>
意向过滤器>
action-android:name=“android.intent.action.MAIN”/>
类别android:name=“android.intent.category.LAUNCHER”/>
/意向过滤器>
/活动>
/应用程序>
/舱单>
(我在显示时遇到了一些问题。很抱歉,格式很难看,并且删除了“评论中@Otid0的答案对我很好。 基本上,问题在于通过多个活动使用对象。
要解决这个问题,使用单例类会有所帮助。在我的研究中,我发现一些文章强烈反对使用单例类。我认为这是因为全局变量的风险。如果有其他风险或其他方法,请随时发表评论。非常感谢Otid,祝您愉快!

而不是c在C中创建另一个意图为什么不完成()C那么它应该立即进入B@Otid0:我需要更改C中序列化对象中的数据。为了利用更改,我使用相同的对象创建了一个新的活动B。我假设如果有某种全局内存可以存储我的对象,并且可以通过多个活动持久化,我的问题就可以解决。您可以创建一个ingleton类,在A中实例化它,并在B或C中调用它。
Intent intent = new Intent(this, GameActivity.class);
    intent.putExtra(GAME_MANAGER,gm);
    startActivity(intent);
gm = (GameManager) getIntent().getSerializableExtra(GAME_MANAGER);
 Intent intent = new Intent(this, InteractionActivity.class);
    intent.putExtra(GAME_MANAGER, gm);
    startActivity(intent);
gm = (GameManager) getIntent().getSerializableExtra("GAME_MANAGER");
Intent intent = new Intent(this, GameActivity.class);
    intent.putExtra(GAME_MANAGER,gm);
    startActivity(intent);
package="com.example.chronoplatoon">

application

    android:allowBackup="true"

    android:icon="@mipmap/ic_launcher"

    android:label="@string/app_name"

    android:roundIcon="@mipmap/ic_launcher_round"

    android:supportsRtl="true"

    android:theme="@style/AppTheme">

    activity android:name=".InteractionActivity"></activity>

    activity android:name=".GameActivity" ></activity>

    activity android:name=".MainActivity">

        intent-filter>

            action android:name="android.intent.action.MAIN" />

            category android:name="android.intent.category.LAUNCHER" />

        /intent-filter>

    /activity>

/application>