¿Cuál es la mejor manera de agregar un botón?

Soy nuevo en el desarrollo de Android. Tengo una duda. Sé que puedes agregar un botón e inicializarlo como

Button b1=(Button) findViewById(R.id.button1); 

y también puedo dar un nombre de unción en el archivo XML.

  android:onClick="click_event" 

Mi duda es, ¿cuál es la mejor y más eficiente manera? como dice que es mejor utilizar @string recurso en lugar de un codificado.

Creo que estás confundido. Los ejemplos que da son dos cosas diferentes.

Agregar un botón

Esta línea

 Button b1=(Button) findViewById(R.id.button1); 

no agrega un Button . Declara e inicializa una instancia de Button que se refiere a un Button en su xml actualmente inflado que tiene un id de button1

Así que en su xml que tendría en alguna parte

 <Button android:id="@+id/button1" <!-- other properties --> /> 

Puede agregar un Button programación con

 Button bt1 = new Button(this); // give it properties 

Pero generalmente es más fácil hacer en xml porque aquí tienes que programarlo para darle parámetros, propiedades, y añadirlo a un layout inflado

Al hacer clic

En cuanto a la onClick() depende de lo que sientes es el más fácil y mejor en su situación. Me gusta declararlo en el xml como que a menudo, pero se puede hacer de varias maneras. Utilizando este método sólo tiene que estar seguro de que tiene una función como ésta que es public y toma sólo un parámetro y ese parámetro debe ser una View

  public void clickEvent(View v) { // code here } 

También cambié el nombre por lo que su xml sería como

 <Button android:id="@+id/button1" <!-- other properties --> android:onClick="clickEvent"/> 

También puede configurar onClick() en su Java con algo como

 Button b1=(Button) findViewById(R.id.button1); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // code here } }); 

o

  Button b1=(Button) findViewById(R.id.button1); b1.setOnClickListener(this); @Override public void onClick(View v) { // code here } 

Tenga en cuenta que la última forma en la que necesitará agregar implements OnClickListener en su declaración de Activity

 public class MyActivity extends Activity implements OnClickListener { 

También puede crear su propio Listener clics cambiándolo a algo como

 b1.setOnClickListener(myBtnClick); 

a continuación, crear una instancia de la misma con algo como

 public OnClickListener myBtnClick = new OnClickListener() { @Override public void onClick(View v) { // click code here } }; 

Puede usar este Button para varios Button y activar el id o comprobar el parámetro View para saber qué Button se ha hecho clic o crear Listeners separadas para diferentes Button .

  • El botón onclick dentro del fragmento no funciona
  • Cómo poner dos botones en la misma línea en Android
  • Botón de desactivación con selector de botones
  • La operación de clic no funciona en el botón android después de aplicar la animación de movimiento a ella en Android
  • Clase común para el oyente de clics
  • La casilla de verificación de Android marcada en una actividad y luego el botón aparece en otra actividad
  • ¿Cómo puedo eliminar un botón o hacerlo invisible en Android?
  • ¿Por qué maxWidth en un botón no funciona y cómo trabajar alrededor de él?
  • Funcionalidad de búsqueda para ListView
  • ¿Cómo configurar el botón tiene la imagen y la sombra?
  • Implementar android: src = "@ drawable / image" mediante programación en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.