我有一个看起来像这样的课程:
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) {
}
}
在那个班级里面我有另一个班级。主类最终将有三个私有类。如何使用intent启动内部类。谢谢!
答案 0 :(得分:1)
它必须是public static
(或Activity
的{{1}}子类,正如您在此处所拥有的那样,而不是AppCompatActivity
类。然后,您将通过private
启动它,就像启动任何其他活动一样。
但是,目前还不清楚为什么要这样做。从另一项活动的startActivity()
开始活动不太可能是您想要的。
让我们一起来看看会发生什么,假设您的奇怪名称onStart()
活动是发射器活动:
GoogleDriveSync
GoogleDriveSync
实例onCreate()
GoogleDriveSync
上拨打onStart()
,您拨打GoogleDriveSync
致电startActivity()
SyncReminders
上调用onStop()
,因为它将不再可见(假设GoogleDriveSync
是典型的活动,填满了屏幕)SyncReminders
的实例,通过其生命周期方法并显示它SyncReminders
上拨打onStart()
,您拨打GoogleDriveSync
致电startActivity()
SyncReminders
上调用onStop()
,因为它将不再可见(假设GoogleDriveSync
是典型的活动,填满了屏幕)SyncReminders
的实例,通过其生命周期方法并显示它SyncReminders
上拨打onStart()
,您拨打GoogleDriveSync
致电startActivity()
等等。
换句话说,永远不会显示SyncReminders
的用户界面,用户会想知道为什么她无法退出GoogleDriveSync
。
除非在此处使用两项活动明确原因,否则只使用一项活动。