Botón de Android Onclick

OK Soy nuevo en los desarrolladores de Android y Java, así que estoy teniendo problemas con el método de clic aquí está mi código. Sé que tengo que estar cerca, gracias de antemano. Todo lo que quiero es que mi botón haga clic en el teléfono para cambiar la vista de diseño de main.xml a xx.xml

package my.project; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ExperiencerlActivity extends Activity { /** Called when the activ`enter code here`ity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub } }); } } 

Aquí está mi código de botón

 

Si escribe así en la etiqueta Button en el archivo xml: android: onClick = “setLogin”, entonces

Hazlo así:

     

y en la parte del Código:

 public class StartUpActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClickBtn(View v) { Toast.makeText(this, "Clicked on Button", Toast.LENGTH_LONG).show(); } } 

y no es necesario todo esto:

  Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub } }); 

Compruébalo una vez;

Método 1:

 public void onClick(View v) { Intent i = new Intent(currentActivity.this, SecondActivity.class); startActivty(i); } 

Método 2:

 Button button = (Button) findViewById(R.id.mybutton); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { Toast.makeText(this, "Button Clicked", Toast.LENGTH_LONG).show(); } }); 

Necesita hacer el mismo nombre de método tanto en el diseño XML como en el código de Java.

Si usas android:onClick="setLogin" entonces necesitas hacer un método con el mismo nombre, setLogin :

 // Please be noted that you need to add the "View v" parameter public void setLogin(View v) { } 

CONSEJO:
No mezcle el diseño con el código usando la etiqueta android:onClick en su XML. En su lugar, mueva el método de clic a su clase con el método OnClickListener como:

 Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub } }); 

Haz un diseño solo para el diseño y nada más. Ahorrará su valioso tiempo cuando necesite refactorizar para admitir pantallas múltiples .

Usa algo como esto:

  public void onClick(View v) { // TODO Auto-generated method stub startActivity(new Intent("com.droidnova.android.splashscreen.MyApp")); } 

Mira aquí: pantalla de bienvenida de Android

Sería útil saber qué código está tratando de ejecutar cuando se presiona el botón. Tiene la propiedad onClick establecida en su archivo xml en un método llamado setLogin. Para mayor claridad, eliminaría esta línea de android:onClick="setLogin" y llamar al método directamente desde dentro de su método onClick() .

Además, no puedes simplemente configurar la pantalla en un nuevo XML, necesitas comenzar una nueva actividad con un Intento, un método como este sería apropiado

  private void setLogin() { Intent i = new Intent(currentActivity.this, newActivity.class); startActivty(i); } 

Luego configure la nueva Actividad para que tenga el nuevo diseño.

esto lo resolverá por ti

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button but1=(Button)findViewById(R.id.button1); but1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent int1= new Intent(MainActivity.this,xxactivity.class); startActivity(int1); } }); } 

Solo necesita modificar la xxactividad al nombre de su segunda actividad

Hay dos soluciones para esto son:

(1) no poner en hacer clic en xml

(2) eliminar

 button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub } }); 

y pon

 public void setLogin(View v) { // Your code here }