Eis o código:
// dentro de outra classe...
static class ViewHolder{
private TextView tvNome;
private TextView tvDataNascimento;
private ImageView img;
}
//mais códigos aqui(...)
Gostaria de saber a funcionalidade da palavra-chave aplicada nesse contexto(na declaração dessa classe), o que ela representa, o que ela faz de especial…
É uma dúvida simples, mas acontece que sua aplicação difere da declaração de métodos e variáveis…
Se alguém puder me ajudar, ficaria grato. E peço desculpas por qualquer erro ou incômodo.
Para instanciar uma classe interna, você precisa necessariamente ter uma instancia da classe externa, e não há exceção para esta regra, por exemplo, modificando um pouco seu exemplo para simplificar
public class TesteInnerClass {
static class ViewHolder{
public String tvNome;
public String tvDataNascimento;
public String img;
}
}
poderia ser instanciada desta maneira
public class Tests {
public static void main(final String[] args) {
final TesteInnerClass.ViewHolder ugVh = new TesteInnerClass.ViewHolder();
ugVh.tvNome = "teste";
System.out.println(ugVh.tvNome);
}
}
você pode também criar instâncias da classe interna dentro da classe externa, se voce usar this dentro da classe interna, este this dirá respeito a esta classe interna, para acessar a externa terá que adicionar o nome da classe externa antes, como no exemplo acima poderia ser TesteInnerClass.this, mas atenção, como sua inner class é estatica, voce não terá acesso aos atributos ou métodos que não sejam estáticos na classe externa. É possível também ter classes internas dentro de métodos.
Entendi! Valew pela ajuda =D