Uso de Intent en una aplicación de Android para mostrar otra actividad
En mi aplicación de Android, tengo dos clases de actividad. Tengo un botón en el primero y quiero mostrar el segundo cuando se hace clic, pero tengo un error. Aquí están las clases:
public class FirstActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button orderButton = (Button)findViewById(R.id.order); orderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(FirstActivity.this, OrderScreen.class); startActivity(intent); } }); } }
La segunda clase que debe mostrar cuando se hace clic en el botón, pero nunca lo hace:
- Uso de Phonegap para enviar SMS y mostrar en Bandeja de entrada
- Compruebe la acción del usuario en Intent.ACTION_VIEW
- Cualquier forma de saber si el dispositivo se ha iniciado desde un inicio rápido?
- Abrir la aplicación de la galería desde Android Intent
- Tipos de RequestCode para startActivityforResult
public class OrderScreen extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.order); Button orderButton = (Button) findViewById(R.id.end); orderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } }
¿Cómo puedo crear un botón que muestre la segunda actividad?
- Propósitos explícitos, intenciones implícitas y emisiones
- Matar actividad cuando se trata de primer plano
- Captura e interceptación de ACTION_SEND intents en Android
- Error al recibir el problema de intento de difusión
- Cómo hacer que el receptor de difusión de la aplicación siga escuchando sin tener un servicio ejecutándose en segundo plano
- Listando todos los extras de una Intención
- ¿Cómo borrar los datos de intención en Actividad después de abrirlos desde url?
- ¿Cómo borrar correctamente los datos de intenciones de la actividad SingleTop?
El problema fue que la Activity
OrderScreen no se agregó a AndroidManifest.xml . Una vez que lo agregué como un nodo de aplicación, funcionó correctamente.
<activity android:name=".OrderScreen" />
Agrega esta línea a tu AndroidManifest.xml:
<activity android:name=".OrderScreen" />
—- FirstActivity.java —–
package com.mindscripts.eid; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class FirstActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); Button orderButton = (Button) findViewById(R.id.order); orderButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this,OrderScreen.class); startActivity(intent); } }); } }
— OrderScreen.java —
package com.mindscripts.eid; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class OrderScreen extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.second_class); Button orderButton = (Button) findViewById(R.id.end); orderButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } }
— AndroidManifest.xml —-
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mindscripts.eid" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".FirstActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".OrderScreen"></activity> </application>
Utilice este código:
Intent intent=new Intent(context,SecondActivty.class); startActivity(intent); finish();
Contexto: referirse al contexto actual de la actividad,
Asegúrese de que ha agregado actividad en el archivo de manifiesto android.
Siguiente código para agregar actividad en el archivo de manifiesto de android
<Activity name=".SecondActivity"> </Activity>
<activity android:name="[packagename optional].ActivityClassName"></activity>
Simplemente agregando la actividad que queremos cambiar a debe colocarse en el archivo de manifiesto
Al crear cualquier actividad en el archivo android tienes que especificarlo en AndroidManifest.xml como
<uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".MyCreativityActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".OrderScreen"></activity> </application>
b1 = (Button) findViewById(R.id.click_me); b1.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(MainActivity.this, SecondActivity.class); startActivity(i); } });
Puede utilizar el contexto de la vista que realizó la llamada. Ejemplo:
Button orderButton = (Button)findViewById(R.id.order); orderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(/*FirstActivity.this*/ view.getContext(), OrderScreen.class); startActivity(intent); } });
Intent i = new Intent("com.Android.SubActivity"); startActivity(i);
Agregue la actividad en su archivo de manifiesto
<activity android:name=".OrderScreen" />
En el Manifiesto
<activity android:name=".OrderScreen" />
En el código Java donde debe colocar el código de intención
startActivity(new Intent(CurrentActivity.this, OrderScreen.class);
- Estilo conjunto de Android en el código
- No se pudo resolver: com.google.firebase: firebase-core: 9.0.0