Cómo abrir una segunda actividad con un clic del botón en la aplicación de Android

Estoy aprendiendo a construir aplicaciones de Android y necesito ayuda específica. Parece que no puedo entender qué bits de código de plantilla debo cambiar, y qué bits son estáticos.

En la carpeta LAYOUT tengo mi ACTIVITY_MAIN.XML que dice

  

A continuación, tengo mi segunda actividad ACTIVITY_SEND_PHOTOS.XML que es

      

Luego tengo mi MainActivity.java (¿es esta la clase.)? Esto lee el paquete com.example.assent.bc;

  import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } /** Called when the user clicks the Send button */ public void sendMessage(View view) { // Do something in response to button } } 

y luego mi archivo SendPhotos.java que es;

  package com.example.assent.bc; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.support.v4.app.NavUtils; public class SendPhotos extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send_photos); getActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_send_photos, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } } 

Me gustaría que el botón de mi actividad principal se vincule con mi actividad sendphotos, simplemente abriendo esa actividad, nada sofisticado, sin enviar datos ni nada.

Sé que en algún lugar necesito mi

  Intent i = new Intent(FromActivity.this, ToActivity.class); startActivity(i); 

pero no tengo idea de qué reemplazar ToActivity.class con o qué más necesito dónde.

Puede pasar a la actividad deseada al hacer clic en el botón. simplemente agrega android:onClick="sendMessage" esta línea.

xml:

   

En tu actividad principal simplemente agrega este método:

 public void sendMessage(View view) { Intent intent = new Intent(FromActivity.this, ToActivity.class); startActivity(intent); } 

Y lo más importante: no olvide definir su actividad en manifest.xml

    

Prueba esto

  Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i = new Intent(getApplicationContext(),SendPhotos.class); startActivity(i); } }); } 

De la actividad: ¿dónde estás actualmente?

A la actividad: ¿a dónde quieres ir?

Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);

Ambas actividades deben estar incluidas en el archivo de manifiesto; de lo contrario, no se encontrará el archivo de clase y se cerrará Force.

Edite su Mainactivity.java

 crate button's object; 

ahora Escriba el código para el evento click.

  Button btn = (button)findViewById(R.id.button1); btn.LoginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //put your intent code here } }); 

Espero que funcione para ti.

 Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(MainActivity.this, MainActivity2.class); MainActivity.this.startActivity(myIntent); } }); 

La respuesta para el novato completo de un novato completo: MainActivity es el nombre de la primera actividad. MainActivity2 es el nombre de la segunda actividad. button1 es la ID del botón en xml para MainActivity Activity.

solo sigue este paso (no estoy escribiendo código solo Bcoz puedes copiar y pegar y no puedo aprender) ..

  1. primero en todo lo que necesita para declarar un botón que tiene en el diseño

  2. Haga referencia a ese botón encontrando su id (usando findviewById) en oncreate

  3. setlistener para el botón (como escucha de setonclick)

  4. manejar por última vez el evento de clic (significa iniciar nueva actividad mediante el uso de la intención, como ya sabe)

  5. No olvides agregar actividad en el archivo de manifiesto

Por cierto, esto es simple, me gustaría sugerirle que simplemente empiece con simples tutoriales disponibles en la red que serán mejores para usted.

La mejor suerte para Android

Reemplace el siguiente código de línea:

 import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener{ Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button1); button.setOnClickListener(this); } public void onClick(View v) { if(v.getId==R.id.button1){ Intent i = new Intent(FromActivity.this, ToActivity.class); startActivity(i); } } } 

Agregue las siguientes líneas en su archivo de manifiesto:

    

Reemplace su MainActivity.class con este código

 public class MainActivity extends Activity { Button b1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button1); b1.setOnClickListener(new View.onClickListener() { public void onClick(View v) { Intent i=new Intent(getApplicationContext(),SendPhotos.class); startActivity(i); } } ) } 

Agregue estos códigos en su AndroidManifest.xml después de y antes de

  

Esto siempre funciona, cualquiera debería estar bien:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { startActivity(new Intent("com.tobidae.Activity1")); } //** OR you can just use the one down here instead, both work either way @Override public void onClick (View v){ Intent i = new Intent(getApplicationContext(), ChemistryActivity.class); startActivity(i); } } } 

agregue el código siguiente al archivo activity_main.xml:

  

y simplemente agregue el siguiente método al archivo MainActivity.java:

 public void buttonClick(View view){ Intent i = new Intent(getApplicationContext()SendPhotos.class); startActivity(i); } 

Si tiene dos botones y tiene la misma identificación de su botón, haga clic en eventos como este:

 Button btn1; Button btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1= (Button)findViewById(R.id.button1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,target.class); startActivity(intent); } }); btn2=(Button) findViewById(R.id.button1);//Have same id call previous button---> button1 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 

Cuando hace clic en el botón button1 , el button2 funcionará y no podrá abrir su segunda actividad.

   

EN EL CÓDIGO DE JAVA

 Button signIn= (Button) findViewById(R.id.btnSignIn); signIn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(SignInPage.this,MainActivity.class)); } }); 

}

Puede pasar a la actividad deseada al hacer clic en el botón. solo agrega
android: onClick = “timerApp” esta línea.

 xml:  In your main activity just add this method: public void timerApp(View view){ Intent intent= new Intent(MainActivity.this,TimerActivity.class); startActivity(intent); } 

O en el método onCreate () agregue el código siguiente

 Button btn =findViewById(R.id.timer_app);//Don't need to type casting in android studio 3 btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(MainActivity.this, TimerActivity.class); startActivity(intent); } });