Programar para Android - 06
Try04 - Um botão com ação.
Vamos começar por criar um novo projeto Try04, em que retiramos a mensagem de "Hello World".
Neste projeto vamos criar um botão com o id btButton que ocupe toda a área disponível do ecrã, ou seja, com FILL_PARENT na altura e na largura.
Tal como antes, temos o layout concluído, mas o programa não faz nada.
A ideia é que o botão apresente uma mensagem, quando for clicado mude para uma segunda mensagem e ao ser clicado de novo volte à primeira mensagem.
Vamos então criar duas strings em strings.xml, uma com o id btText e valor Clica-me e outra com id btTextClicked e valor Fui clicado.
Agora vamos ao código.
package pt.omeusite.try04;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
Os imports são feitos automaticamente pelo Eclipse, com o Ctrl+Shift+O.
public class Try04Activity extends Activity implements OnClickListener {
A atividade vai implementar a interface OnClickListener, para poder processar os clicks no botão. É possível definir uma nova classe ou uma subclasse para processar os clicks, mas é mais simples fazer que a atividade implemente o interface, pois apenas implica que tenha um método onClick().
Vamos precisar de um objeto do tipo Button e de uma variável inteira, para guardar o estado do botão.
Button btButton;
int status = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Começamos o código "a sério" por definir o objeto btButton. O objeto já foi definido no layout em main.xml, por isso agora apenas dizemos para ir buscar o objeto com o id btButton aos recursos.
De seguida definimos a própria atividade (this) como listener dos clicks.
btButton = (Button) findViewById(R.id.btButton);
btButton.setOnClickListener(this);
}
O método que processa os clicks é este. Apenas muda o estado e define o texto do botão de acordo com esse estado.
public void onClick(View v) {
status = 1 - status;
if (status==1)
btButton.setText(R.string.btTextClicked);
else
btButton.setText(R.string.btText);
}
}
E finalmente um programa que reage a alguma coisa.
Sem comentários:
Enviar um comentário