¿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.
- NullPointerException en OnClickListener del botón
- Texto del botón no con varias líneas
- No se puede agregar una vista personalizada a la barra de acciones de Android, ¿por qué?
- Llamada de findViewById en Fragment para encontrar un botón devuelve null
- OnClickListener () debe reemplazar un método de superclase?
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.
- Botón Estrella en Android
- Android: cómo manejar el botón de clic
- Android por qué este botón no se puede hacer clic
- Botón SetOnClickListener NullPointerException en el diseño de desplazamiento
- ¿Cómo configurar el botón por un polígono de contorno? Androide
- Android: Añadir un botón personalizado a SearchView Widget en Actionbar
- Reproductor multimedia reproducir pausa en android
- Creación de un botón de retroceso personalizado en android
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
.
- Necesito el equivalente SQLite de MySQL para trabajar con unix timestamps
- ¿Puedo añadir un actor a la capa posterior en Libgdx?