Botón para Android Onclick

OK Soy nuevo en android dev y Java, así que estoy teniendo problemas con el método de clic aquí es mi código Ii sé que tengo que estar cerca gracias de antemano todo lo que quiero que mi botón de hacer es cuando se hace clic en el teléfono para cambiar La vista de diseño desde 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

 <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/linearLayout1" android:layout_centerHorizontal="true" android:layout_marginBottom="56dp" android:onClick="setLogin" android:text="Login" /> 

Si escribes así en la etiqueta Button en el archivo xml: android: onClick = "setLogin" entonces

Hazlo así:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn" android:onClick="onClickBtn" /> </LinearLayout> 

Y en la parte de 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 hay necesidad de todo esto:

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

Compruébelo 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 XML de diseño como en código 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 mediante el uso de android:onClick etiqueta android:onClick en su XML. En su lugar, mueva el método de clic a su clase con 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 } }); 

Hacer un diseño sólo para el diseño y no más. Se ahorrará su precioso tiempo cuando necesita refactoring para soportar múltiples pantallas .

Utilice 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 android

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

Además, no se puede simplemente configurar la pantalla a un nuevo XML, es necesario iniciar una nueva actividad con un Intent, un método algo como esto sería apropiado

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

A continuación, establezca la nueva Actividad para tener el nuevo diseño.

Esto lo clasificará para usted

 @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); } }); } 

Sólo tiene que modificar la xxactividad con el nombre de su segunda actividad

El código para eso es:

 Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener{ }); 
  • ¿Cómo puedo obtener la ruta relativa de las carpetas en mi proyecto android?
  • Error: org.gradle.api.internal.changedetection.state
  • Cómo pasar valores hexadecimales a una cadena - Android
  • Receptor de alarma y el manifiesto de Android
  • Captura de audio / video en PhoneGap / Córdoba utilizando un complemento de Java externo
  • Java vs Objective C en caso de excepción nullpointer
  • Cómo guardar el estado del fragmento teniendo listview
  • La cámara Android no funcionará. StartPreview falla
  • Cómo ejecutar "callOnClick ()" para Android API 8?
  • ¿Es el modelo de memoria de Dalvik el mismo que el de Java?
  • ¿Cómo puedo obtener la ubicación actual en android programatically?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.