Java 在Android Studio中对多个活动进行排序
这里有一个更基本的问题,因为我对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"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显示对象中的信息,并允许用户更改其中的一些信息。让用户在
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>