OnStop () no se llama?
Estoy tratando de obtener registros para el ciclo de vida de la actividad. Y estoy enfrentando un problema extraño aquí.
Cuando utilizo el tema de la actividad como android:theme="@style/Theme.AppCompat.Light.NoActionBar
e ir a la siguiente acitivty. onPuase()
y onStop()
se llama.
- Cómo comparar los objetos de contexto de las dos actividades diferentes ..?
- Aplicación para Android con múltiples actividades
- ¿Cómo puedo iniciar la aplicación en la actividad principal?
- ¿Diferencia entre extender LifecycleActivity, Activity, ActionbarActivity y AppCompactActivity?
- Dos actividades de lanzamiento
Pero, cuando uso android:theme="@style/AppTheme
, onPause()
se llama, pero onStop()
no se llama.
¿Hay eventos basados en el Tema de Actividad?
Puede remitir el código a continuación.
Estilos.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="android:windowIsTranslucent">true</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style>
Manifest.xml
<activity android:name=".activity.TestActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/AppTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activity.TestTwoActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/AppTheme" />
TestActivity
public class TestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); Logger.debug("TestActivity onCreate"); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(TestActivity.this, TestTwoActivity.class); startActivity(intent); } }); } @Override protected void onStart() { Logger.debug("TestActivity onStart"); super.onStart(); } @Override protected void onRestart() { Logger.debug("TestActivity onRestart"); super.onRestart(); } @Override protected void onResume() { Logger.debug("TestActivity onResume"); super.onResume(); } @Override protected void onPause() { Logger.debug("TestActivity onPause"); super.onPause(); } @Override protected void onStop() { Logger.debug("TestActivity onStop"); super.onStop(); } @Override protected void onDestroy() { Logger.debug("TestActivity onDestroy"); super.onDestroy(); }
}
Prueba de actividad
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="100dp" android:background="@color/bg_blue" android:text="button" />
` Activity_test_two
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="100dp" android:layout_centerInParent="true" android:background="@color/bg_blue" android:text="button" />
Registros:
TestActivity onCreate TestActivity onStart TestActivity onResume activity Button Click TestActivity onPause TestTwoActivity onCreate TestTwoActivity onStart TestTwoActivity onResume Backpress TestTwoActivity onPause TestActivity onResume TestTwoActivity onStop TestTwoActivity onDestroy
- ¿Cómo manejar el cambio de orientación de pantalla cuando el diálogo de progreso y el hilo de fondo están activos?
- Muestra de ventana incorrecta, no se puede mostrar un diálogo antes de que se cree una actividad o después de que esté oculta
- Cómo deshabilitar la animación de una actividad al llamar a moveTaskToBack ()?
- Android: Mantenga MediaPlayer en ejecución durante la actualización de la orientación de la pantalla Actividad
- Agregando el listener del tecleo a la imagen de la barra de título
- No se puede iniciar la actividad en Android a través de Unity
- No se encontró ningún identificador de recurso para el atributo 'srcCompat' en el paquete 'learnapp.android.example.com.learnapp'
- Iniciar la actividad principal si la pila de actividades está vacía
Su segunda actividad es translúcida – significa que esa primera actividad sigue siendo visible, por lo que no se llamará onStop()
. Esto es muy similar a mostrar el diálogo – onPause()
se llama porque la actividad no está en primer plano, pero sigue siendo visible para el usuario – por lo que no onStop()
llama
<item name="android:windowIsTranslucent">true</item>
no realiza cambios en el ciclo de vida de la actividad.
No sé cuál fue el problema en mi caso. Reiniciar el estudio resolvió el problema.
- Cómo mostrar una imagen en el cuadro de diálogo
- ¿Cómo hace la interfaz ReadableMap en React-native convertir JS a JAVA?