Saudações caros colegas programadores
Eu estou fazendo este topico pois estou com algumas dificuldades para entender como funcionam as callbacks em java.
Como estou fazendo o meu tcc do técnico em android studio, muitas, se não todas as funções que existem nele para manipulação de dados envolvem callbacks (ou classe anonima do java?) e a forma que elas são escritas tá dando um nó na minha cabeça
O codigo proposto pelo exercicio que eu estou fazendo é o seguinte:
private EditText caixaTexto;
private Button botaoIdade;
private TextView resultadoIdade;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
caixaTexto = (EditText) findViewById(R.id.txt_idade);
botaoIdade = (Button) findViewById(R.id.btn_Calcular);
resultadoIdade = (TextView) findViewById(R.id.lbl_Resultado);
botaoIdade.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
// Recupera dados quando for clicado
String textoDigitado = caixaTexto.getText().toString();
if (textoDigitado.isEmpty()){
resultadoIdade.setText("Nenhum numero digitado");
}else{
int valorDitigado = Integer.parseInt(textoDigitado);
int idadeFinal = valorDitigado * 7;
resultadoIdade.setText("A idade do cachorro em anos humanos é equivalente a: " + idadeFinal + " anos");
A parte que eu estou tendo mais dificuldade para entender é a:
botaoIdade.setOnClickListener(**new View.OnClickListener**()
E a :
public void onClick(View v)
No primeiro exemplo, eu não entendo como que o objeto pode estar sendo instanciado sem uma referência.
Já no segundo bloco de codigo eu simplesmente não estou conseguindo entender a referência View v. De onde ela surge, por que ela surge?