Могу ли я продублировать макет, изменяющийся внутри строк? - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь выяснить, как продублировать макет с информацией, имеющей столько записей, сколько у меня есть.

В этом приложении я хочу получить столько комментариев, сколько у меня есть в тех же полях, что и комментарий по умолчанию, в этомвопрос, который я сделаю простой, чтобы попробовать.enter image description here

Вот как у меня есть распределение слоев:

image

for (int i = 0; i < 3; i++) {
     LinearLayout linlay = new LinearLayout(getApplicationContext()); //ComentarioEjemplo
     LinearLayout head = new LinearLayout(getApplicationContext()); //LinearLayout
     TextView num_com = new TextView(getApplicationContext()); //TextView
     TextView admin = new TextView(getApplicationContext()); //TextView5
     View separ = new View(getApplicationContext()); // Separador
     TextView coment = new TextView(getApplicationContext()); // TextView6



                    comentarios_layout.addView(linlay);

                    num_com.setText("com");
                    admin.setText("adn");
                    coment.setText("tasuhdfsadh kasjdh as");

                    // STYLE ///////////////////////////////////////////////
                    linlay.setBackgroundColor(Color.parseColor("#d2d2d2"));
                    linlay.setOrientation(LinearLayout.VERTICAL);
                    head.setOrientation(LinearLayout.HORIZONTAL);
                    LinearLayout.LayoutParams layoutLinlay = new LinearLayout.LayoutParams(
                            LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

                    LinearLayout.LayoutParams layoutHead = new LinearLayout.LayoutParams(
                            LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
                    layoutLinlay.setMargins(20, 5, 20, 5);

                    linlay.setLayoutParams(layoutLinlay);
                    head.setLayoutParams(layoutHead);

                    linlay.addView(head);
                    linlay.addView(separ);
                    linlay.addView(coment);

                    head.addView(num_com);
                    head.addView(admin);
}

Я пыталсяизменить стиль программирования, но я действительно борюсь с ним.Есть ли простой способ сделать это ??

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете достичь этого очень легко, используя виды рециркуляции, вам придется спроектировать его один раз в xml, и вы можете повторно использовать этот макет для нескольких строк, посмотрите эту ссылку для более подробного ответа https://code.tutsplus.com/tutorials/getting-started-with-recyclerview-and-cardview-on-android--cms-23465

...