Boa noite Alex Estou colocado em pratica os conhecimentos obtidos nas aulas, fazendo um aplicativo que adiciona produtos e calcula o preço junto com a sua quantidade.
O usuario digita o preço a quantidade de produtos e ele calcula o total do carrinho de acordo que ele vai adicionando mais produtos.
Eu estava tentando usar o mesmo raciocínio das suas aulas. Criei um resumoView que ficara responsavel por mandar o total do carrinho no meu textView na tela de total de carrinho.
E criei a classe resumo, que ficaria resposavel por fazer o calculo.
Eu agarrei na parte do calculo.
Minha classe Resumo()
package projetos.android.mercadinhokotlin.Model
import java.math.BigDecimal
//Classe que fica responsavel para calculoos
class Resumo(private val produtos: List<Produto>) {
fun total(): BigDecimal {
return calculaCarrinho()
}
private fun calculaCarrinho(): BigDecimal {
val somaOsValoresDoProduto = produtos
.sumByDouble { it.preco.toDouble() * it.quantidade }
return BigDecimal(somaOsValoresDoProduto)
}
}
funciona essa questão do sumByDouble? Produto vezes a quantidade?
Classe ResumoView - responsavel por colocar os resultados dos calculos nos componentes da tela
class ResumoView(private val context: Context,
private val view: View,
produtos :List<Produto>) {
private val resumo :Resumo = Resumo(produtos)
private val corTotalCarrinho = ContextCompat.getColor(context, R.color.colorPrimaryDark)
fun atualiza(){
adicionaCarrinho()
}
private fun adicionaCarrinho() {
val carrinho = resumo.total()
with(view.valor_do_carrinho){
setTextColor(corTotalCarrinho)
text = carrinho.formataParaBrasileiro()
}
}
}
Esta ok professor:
Preciso muito do seu feedback para ver se estou no caminho certo. Obrigado Fico no aguardo