Estoy tratando de concatenar múltiples resultados que se generan por separado. Ya intenté poner los resultados en un TextView pero solo muestra el último resultado.

Log.wtf("Concat ", msg2);

E/Concat: A4 Paper 6  ->   $ 57.0
E/Concat: JetPen 8  ->   $ 105.0
E/Concat: Shopper 9  ->   $ 110.25
E/Concat: Pilot 10  ->   $ 70.0
E/Concat: Valentine Card 2  ->   $ 60.0
List<Basket> items = ((BasketAdapter)binding.get().basketRecycler.getAdapter()).getItems();

        for(Basket basket : items){
            //Log.wtf("Name ", basket.product.name);
            //Log.wtf("Price ", basket.basketPrice + "");
            //Log.wtf("Count ", basket.count + "");
            float subTotal = basket.basketPrice * basket.count;

            String message = basket.product.name +"  "+"->"+"  "+" $ "+subTotal;
            Log.wtf("Concat ", message);
0
DEDS3C _ 24 dic. 2019 a las 08:44

2 respuestas

La mejor respuesta

Pruebe esto, su código no funciona porque está creando una nueva cadena cada vez dentro del ciclo for. Lo que he hecho es crear un mensaje variable fuera del ciclo y concatenado dentro del ciclo usando el operador + =

    List<Basket> items = 
    ((BasketAdapter)binding.get().basketRecycler.getAdapter()).getItems();

    String message = "";

    for(Basket basket : items){
        //Log.wtf("Name ", basket.product.name);
        //Log.wtf("Price ", basket.basketPrice + "");
        //Log.wtf("Count ", basket.count + "");
        float subTotal = basket.basketPrice * basket.count;

        message += basket.product.name +"  "+"->"+"  "+" $ "+subTotal;
        Log.wtf("Concat ", message);
1
Talha Ahmed 24 dic. 2019 a las 06:20

Está declarando el mensaje de cadena en for loop. Es por eso que cada vez que se crea un nuevo objeto. Declare el mensaje de cadena fuera del bucle for.

0
Nikhil Antapurkar 24 dic. 2019 a las 06:07