Erro Android [iniciante]

12 respostas Resolvido
android
Thallysson

Olá. Eu estou fazendo meu primeiro APP para Android. Estou utilizando a lib do Mysql. Gostaria de ter um array de botões criados de acordo com o resultado de uma query. E depois adicionar o array em um panel. Porém tem algo de errado com a minha sintaxe.

Alguém sabe me dizer o que eu estou fazendo de errado?

12 Respostas

L

Simples, segundo a documentação, não existe nenhum método construtor da classe Button que receba uma String como argumento.

Thallysson

Isso eu imaginei. Mas o que eu quero saber é como ficaria esse construtor?

L

Viu o link que coloquei na resposta anterior? É da documentação da classe Button. Nela você consegue ver todos os construtores para o Button

Thallysson

Vi sim. Mas não tem o que e procuro. O button está sendo pego pela id. Eu quero instanciar um pelo código.

L

Acho que não leu toda a documentação, principalmente a parte dos construtores.

Thallysson

Cara, eu já havia lido a documentação logo quando eu vi esse erro. E li novamente só para ter certeza. O que eu quero saber é onde eu coloco o texto na instância? Porque a necessidade de passar um Context? Eu li sobre isso, pelo que entendi é uma maneira para fazer os novos objetos “entenderem” o que está acontecendo no programa.

Eu vi os construtores sim.

Tá aí o problema. Imaginei algo como new Context(String text). Mas não dá.

L

Todos os componentes do android estão amarrados a um contexto.
Se você der uma olhada em alguns métodos, verá que, quando solicitado um contexto, é passada a instância da classe que representa a activity em questão (aquela que vai ser aberta ou a que está em execução). Um exemplo bem claro disso é o momento em que se faz necessário criar uma Intent. Um dos construtores da Intent recebe um context e uma Class

Intent intent = new Intent(MinhaActivity.this, NovaActivity.class);

Como cada activity possui seus elementos, você precisa dizer qual o contexto em que este deverá ser criado.

L

Com relação ao texto, não existe construtor que receba uma String qualquer, como você pode ver na imagem que postou.

Thallysson

Entendi.

Tá, mas onde eu passo o texto?

L
Solucao aceita

Cara, dá uma pesquisada, olha na documentação, procura.
Na documentação está bem claro que nenhum dos construtores recebe uma String que represente o texto do button.
Mas, se você seguir este link link, que é referente a um método numa superclasse do Button, talvez você consiga encontrar a resposta.

Thallysson

Eu não acredito que não tentei um setText :joy:. Mas enfim, eu pensei que dava para passar no construtor, e evitar uma linha de código a mais. Já que não é possível, tudo bem. Obrigado pela ajuda.

L

Essa é a pergunta de todo programador estruturado: por que mais código é melhor que menos código?

Criado 24 de março de 2017
Ultima resposta 27 de mar. de 2017
Respostas 12
Participantes 2