studio - manejo de eventos de alto nivel en android
¿Cómo agregar un botón en Android? (4)
Compruebe este tutorial de botón de Android ; este ejemplo simple crea un botón de cierre.
Todo lo que necesitas hacer es:
1.Agregar widget de botón a su diseño
<Button android:id="@+id/close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/title_close" />
2. Adjunte un método setOnClickListener a la instancia del botón:
protected void onCreate(Bundle savedInstanceState) {
this.setContentView(R.layout.layoutxml);
this.closeButton = (Button)this.findViewById(R.id.close);
this.closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
¿Alguien puede decir cómo agregar un botón en Android?
Según la documentación oficial de Buttons proporcionada por Android. Primero puede crear un botón en su archivo .xml
.
Button.xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
... />
Y luego lance su botón con Button Class y establezca ClickListener.
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
});
Para más detalles puedes visitar este Buttons
Añadiendo un botón
Button b1=(Button) findViewById(R.id.button1);
no agrega un botón Declara e inicializa una instancia de Button que se refiere a un Button en su xml actualmente inflado que tiene una id de button1
Así que en tu xml tendrías algún lugar
<Button
android:id="@+id/button1"
<!-- other properties -->
/>
Puedes agregar un botón programáticamente con
Button bt1 = new Button(this);
// give it properties
Pero generalmente es más fácil hacerlo en xml porque aquí tiene que darle parámetros y propiedades mediante programación y agregarlo a un diseño inflado.
Al hacer clic
En cuanto al onClick (), depende de lo que creas que es lo más fácil y mejor en tu situación. Me gusta declararlo en el xml así a menudo, pero puedes hacerlo de varias maneras. Usando este método, solo tiene que estar seguro de que tiene una función como esta que es pública y toma solo un parámetro y ese parámetro debe ser una Vista
public void clickEvent(View v)
{
// code here
}
También cambié el nombre para que tu xml sea como
<Button
android:id="@+id/button1"
<!-- other properties -->
android:onClick="clickEvent"/>
También puedes configurar onClick () en tu 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 tendrá que agregar implementos OnClickListener en su declaración de actividad
public class MyActivity extends Activity implements OnClickListener
{
También puede crear su propio escucha de clics cambiándolo a algo como
b1.setOnClickListener(myBtnClick);
luego crea una instancia de ello con algo como
public OnClickListener myBtnClick = new OnClickListener()
{
@Override
public void onClick(View v)
{
// click code here
}
};
Puede usar esto para múltiples Botones y activar el ID o revisar el parámetro Ver para saber en qué botón se hizo clic o crear Oyentes separados para diferentes Botones.
Dinámica:
Button btn= new Button(this);
btn.settext("Submit");
btn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
//your write code
}
});