Vídeo: Curso de HTML5 - 11 - Listas em HTML5 com OL e UL - by Gustavo Guanabara 2024
Às vezes, você quer dar mais o seu objeto Java para fazer no seu aplicativo para Android. Considere isso: você tem uma impressora e você tenta instalá-lo em seu computador. É uma impressora capaz, mas não veio com seu computador, então seu computador precisa de um programa para unidade a impressora: uma impressora driver. Sem um driver, sua nova impressora não passa de peso gigante.
Mas, às vezes, encontrar um driver de dispositivo pode ser uma dor no pescoço. Talvez você não consiga encontrar o disco fornecido com a impressora.
Imagine que você tenha uma impressora sem marca cujo driver esteja embutido em sua memória permanente. Quando você conecta a impressora a uma porta USB, o computador exibe um novo local de armazenamento. (A localização parece, para usuários comuns, como outro dos discos do computador.) Os drivers para a impressora são armazenados diretamente na memória interna da impressora. É como se a impressora soubesse como dirigir-se!
Digamos que você deseja exibir as propriedades de um saco específico, e você não gosta de lidar com os detalhes de um saco. Em particular, você não gosta de se preocupar com vírgulas, espaços em branco e nomes de campo quando exibe um saco:
saco. tipo + "," + saco. peso + "," +
saco. daysAged + "," + saco. isDomestic + " n"
Você prefere que a classe
BagOfCheese
descubra como exibir um dos seus próprios objetos.
Aqui está o plano: mova a grande string com os campos do saco, as vírgulas e os espaços da classe
MainActivity
para a classe
BagOfCheese
. Ou seja, cada
BagOfCheese
objeto seja responsável por descrever-se no formulário
String
. Você poderia fazer dar a cada bolso o seu próprio botão de exibição.
A característica interessante de um botão de exibição é que, quando você pressiona, o texto que você vê depende do saco de queijo que está examinando. Mais precisamente, o texto que você vê depende dos valores nos campos desse formulário específico.
O mesmo acontece no segundo conjunto de código abaixo quando você chama
bag1. toString ()
. Java executa o método
toString
mostrado o primeiro conjunto de código. Os valores utilizados nesse método chamam -
tipo
,
peso
,
daysAged
e
isDomestic
- são os valores no
bag1
campos do objeto. Da mesma forma, os valores utilizados quando você chama
bag2. toString ()
são os valores nos campos do objeto
bag2
.
pacote com. Allmycode. a09_10;
classe pública BagOfCheese {
tipo de Cadeia pública;
peso público duplo;
public int daysAged;
public boolean isDomestic;
public BagOfCheese () {
}
public BagOfCheese (String tipo, duplo peso,
int daysAged, boolean isDomestic) {
isto.kind = kind;
isto. peso = peso;
isto. daysAged = daysAged;
isto. isDomestic = isDomestic;
}
public String toString () {
return kind + "," + weight + "," + daysAged + "," + isDomestic + " n";
}
}
Agora, vamos dar uma olhada em uma exibição de bolsa própria.
pacote com. Allmycode. a09_11;
importar o Android. Apoio, suporte. v7. aplicativo. AppCompatActivity;
importar o Android. os. Agrupar;
importar o Android. ferramenta. TextView;
import com. Allmycode. a09_10. BagOfCheese;
classe pública MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (layout R. activity_main);
textView = (TextView) findViewById (R. Id. TextView);
Saco BagOfCheese1 = novo BagOfCheese ("Cheddar", 2. 43, 30, verdadeiro);
BagOfCheese bag2 = novo BagOfCheese ("Azul", 5. 987, 90, falso);
textView. setText ("");
textView. anexar (bag1. toString ());
textView. anexar (bag2. toString ());
}
}
No primeiro conjunto de código, o objeto
BagOfCheese
tem seu próprio método
toString
sem parâmetros. E no segundo conjunto, as duas linhas a seguir fazem duas chamadas para o método
toString
- uma chamada para
bag1
e outra chamada para
bag2
:
textView. anexar (bag1. toString ());
textView. anexar (bag2. toString ());
Uma chamada para
toString
comporta-se de forma diferente, dependendo do saco específico que está sendo exibido. Quando você chama
saco1. toString ()
, você vê os valores de campo para
bag1
e quando você chama
bag2. toString ()
, você vê os valores do campo para
bag2
.
Para chamar um dos métodos de um objeto, siga uma referência ao objeto com um ponto e, em seguida, o nome do método.