Questão nº 48
Questão de Tecnologia da Informação · CESGRANRIO BB 01/2022 (nº 48)
Durante o desenvolvimento de uma aplicação mobile em Java para Android, um programador detectou a necessidade de alterar o texto de um widget da classe `TextView`, chamado `resultado`, para "Sucesso!".
Para realizar essa ação, esse programador deve usar o seguinte fragmento de código:
- A`TextView resultado = "Sucesso!";`
- B`resultado := "Sucesso!";`
- C`resultado.setValue("Sucesso!");`
- D`resultado.setText("Sucesso!");` (alternativa correta)
- E`resultado = TextView.setValue("Sucesso!");`
Resposta comentada
Gabarito Alternativa D
Conceito-chave: Em Android, para alterar o texto de uma TextView, você usa o método setText(CharSequence). Esse método é herdado da classe View e é a forma padrão de atualizar o conteúdo visual de qualquer widget de texto.
- (A) Incorreta: Atribuição direta de
Stringa um objetoTextViewnão é permitida em Java; você está tentando colocar um texto onde se espera uma referência de objeto. - (B) Incorreta: O operador
:=não existe em Java (é usado em outras linguagens como Pascal/Go); em Java, atribuição é feita com=. - (C) Incorreta: O método
setValue()não existe na classeTextView(nem em suas superclasses diretas); ele é comum emEditTextouSeekBar, mas não aqui. - (D) Correta:
setText("Sucesso!")é o método oficial e correto da classeTextViewpara definir o texto exibido, aceitando umaStringdiretamente. - (E) Incorreta: A sintaxe está errada: você não chama um método estático da classe
TextViewpara alterar uma instância; além disso,setValue()não existe. O correto seriaresultado.setText(...), sem atribuição.
Fonte: CESGRANRIO BB 01/2022 Escriturário - Agente de Tecnologia (Caderno Gabarito 1). Reproduzida para fins de estudo.