2010-04-21 9 views
16

¿Alguien puede decir cómo agregar un botón en Android?¿Cómo agregar un botón en Android?

+0

posible duplicado de [¿Cómo puedo crear dinámicamente un botón en Android?] (Http://stackoverflow.com/questions/3011092/how-can-i-dynamically-create-a-button-in-android) – tzot

+0

¿¿qué?? Realmente: - | –

Respuesta

13

Consulte este Android Button tutorial; este simple ejemplo crea un botón Cerrar.

Todo lo que necesita hacer es:

control Botón 1.Add a la distribución de su

<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.Acople un método setOnClickListener a la instancia de 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(); 
    } 
    }); 
} 
+0

hola, ¿es posible agregar un botón sin declararlo en el archivo xml de diseño? – poeschlorn

+0

Compruebe aquí: http://stackoverflow.com/questions/1851633/how-to-add-button-dynamically-in-android – droidgren

6

dinámico :

Button btn= new Button(this); 
btn.settext("Submit"); 
btn.setOnClickListener(new View.OnClickListener() 
{ 
    public void onClick(View view) 
    { 
      //your write code 
     } 
}); 
0

De acuerdo con la documentación oficial de Buttons proporcionada por Android. Primero puede crear el 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 de emitir su botón con clase Button y establecer 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 se puede visitar este link

1

Añadiendo un Botón de

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

no agrega un botón. Se declara e inicializa una instancia de botón que se refiere a un botón en su xml actualmente inflado que tiene un id de botón1

Así que en su xml que tendría algún lugar

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

Puede añadir un botón programación con

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

Pero por lo general es más fácil hacerlo en xml porque aquí hay que dar vista de los programas de los parámetros, propiedades, y añadirlo a una composición de inflado

OnClick

En cuanto a la onClick(), depende de lo que se siente es el más fácil y mejor en su situación. Me gusta declararlo en el xml así a menudo, pero puedes hacerlo de varias maneras.Usando este método sólo hay que estar seguro de que tiene una función como esta que es pública y sólo toma un parámetro y el parámetro debe ser un Ver

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

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

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

también puede establecer onClick() en su Java con algo así 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 que tendrá que añadir los implementos OnClickListener en su declaración Actividad

public class MyActivity extends Activity implements OnClickListener 
    { 

También puede crear su propio detector de clics cambiando a algo así como

b1.setOnClickListener(myBtnClick); 

entonces cree una instancia con algo así como

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

Puede Úselo para múltiples botones y encienda la identificación o verifique el parametro de la vista para saber en qué botón se hizo clic o crear oyentes separados para diferentes botones.

+1

buena explicación :) –

Cuestiones relacionadas