Подтвердить что ты не робот

Как добавить разделительные линии между моими таблицами, которые создаются программно?

У меня есть TableLayout, который создается программно в Android-проекте. Я продолжаю добавлять TableRows, если в базе данных больше строк. Теперь я хочу добавить разделительные линии, как границу, между TableRows.

В моем другом TableLayout, который я создал статически из XML, я использовал View как разделитель, стиль с style.xml.

Я попробовал добавить View в tablelayout следующим образом:

View v=new View(this);
         v.setLayoutParams(new LayoutParams(
                 LayoutParams.FILL_PARENT,
                 LayoutParams.WRAP_CONTENT));
         v.setBackgroundResource(R.drawable.rowseparator_shape);
             tr.addView(mTvDate);
             tr.addView(mTvResult);

             tl.addView(tr); 
             tl.addView(v);

Но он добавляется только после всех собранных таблиц. Что было бы разумным способом добавления одного представления для каждого тр? Или я должен использовать что-то еще все вместе?

4b9b3361

Ответ 1

View v = new View(this);
v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
v.setBackgroundColor(Color.rgb(51, 51, 51));
tr.addView(mTvDate);
tr.addView(mTvResult);

tl.addView(tr); 
tl.addView(v);

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

Ответ 2

Спасибо Мадхушутанану за это. Я потратил некоторое время на поиски, как это сделать, чтобы просто отделить TextViews горизонтальной линией. Я создавал свое представление программно (без использования макета таблицы). Вот что я придумал, основываясь на приведенном выше ответе:

View line = new View(this);
line.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1));
line.setBackgroundColor(Color.rgb(51, 51, 51));
layout.addView(line);

Simple! Надеюсь, это поможет кому-то еще!

Ответ 3

Вы можете использовать Listview, который будет easiler и лучше, чем делать это.