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:

 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?

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); 
  • Cómo mantener el estado anterior de una actividad
  • Supervisar el estado del Hotspot en Android
  • Abra el video de youtube en un momento específico con la intención de Android
  • TIMEZONE_CHANGED intención que se recibe cada pocos segundos
  • Desplaza las pantallas de una actividad a otra en android
  • Abrir la actividad de Android en una nueva tarea sin usar android: launchMode = "singleTask"
  • Integración de la aplicación con los resultados de búsqueda de Google y Chrome
  • WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION nunca se despide
  • ¿Cómo puedo compartir varios archivos a través de un intento?
  • Presionando el botón de nuevo llama aCrear (Android)
  • ¿Está Google Play Music acumulando todas las intenciones de ACTION_MEDIA_BUTTON?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.