gpt4 book ai didi

java - 在另一个 Activity 中启动 Activity

转载 作者:行者123 更新时间:2023-12-01 08:46:19 26 4
gpt4 key购买 nike

我有一个如下所示的类:

public class GoogleDriveSync extends AppCompatActivity {

// What Happens When App Is Resumed//
@Override
protected void onStart() {

// Where I Want To Start Inner Class//

super.onStart();
}

private class SyncReminders extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {

@Override
public void onConnected(@Nullable Bundle bundle) {

}

@Override
public void onConnectionSuspended(int i) {

}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

}
}

在该类中我还有另一个类。主要类(class)最终将包含三个私有(private)类(class)。如何使用 Intent 启动内部类。谢谢!

最佳答案

它必须是 public static Activity 的子类(或 AppCompatActivity ,如您在此处所示),而不是 private类(class)。然后您可以通过 startActivity() 启动它,与启动任何其他 Activity 的方式相同。

但是,尚不清楚您为什么要这样做。从 onStart() 开始 Activity 另一项 Activity 不太可能是您想要的。

让我们来看看会发生什么,假设你的名字很奇怪 GoogleDriveSync Activity 是启动器 Activity:

  • 用户点击您的启动器图标
  • Android 创建 GoogleDriveSync 的实例
  • Android 通话 onCreate()在您的GoogleDriveSync上实例
  • Android 通话 onStart()在您的GoogleDriveSync上,您在哪里调用startActivity()开始SyncReminders
  • Android 通话 onStop()在您的GoogleDriveSync上,因为它将不再可见(假设 SyncReminders 是一个典型的 Activity ,填满屏幕)
  • Android 创建 SyncReminders 的实例,遍历其生命周期方法,并显示它
  • 最终,用户尝试按 BACK
  • Android 通话 onStart()在您的GoogleDriveSync上,您在哪里调用startActivity()开始SyncReminders
  • Android 通话 onStop()在您的GoogleDriveSync上,因为它将不再可见(假设 SyncReminders 是一个典型的 Activity ,填满屏幕)
  • Android 创建 SyncReminders 的实例,遍历其生命周期方法,并显示它
  • 最终,用户尝试按 BACK
  • Android 通话 onStart()在您的GoogleDriveSync上,您在哪里调用 startActivity()开始SyncReminders

等等。

换句话说,GoogleDriveSync的UI永远不会显示,用户会想知道为什么她无法退出SyncReminders .

除非有明确的理由在此处使用两项 Activity ,否则仅使用一项 Activity 。

关于java - 在另一个 Activity 中启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43022678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com