Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
krauser
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 3
#1

При динамическом заполнении TableLayout происходит перекрытие соседних элементов - Программирование Android

18.02.2014, 01:13. Просмотров 648. Ответов 0
Метки нет (Все метки)

Добрый день, имеется LinearLayout, включающий в себя:
1. LinearLayout с 4-мя TextView
2. TableLayout со ScrollView
3. LinearLayout с 4-мя Button

Код XML:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <LinearLayout
        android:id="@+id/LinearLayout_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <TextView
            android:id="@+id/TextView_firstName"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="@string/TextView_firstName"
            android:layout_weight="1"
            android:textAlignment="center"
            android:textSize="14sp"
            android:textStyle="bold"
            android:padding="3dp" />
        <TextView
            android:id="@+id/TextView_secondName"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="@string/TextView_secondName"
            android:layout_weight="1"
            android:textAlignment="center"
            android:textSize="14sp"
            android:textStyle="bold"
            android:padding="3dp" />
 
        <TextView
            android:id="@+id/TextView_patronymicName"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1.21"
            android:padding="3dp"
            android:text="@string/TextView_patronymicName"
            android:textAlignment="center"
            android:textSize="14sp"
            android:textStyle="bold" />
 
        <TextView
            android:id="@+id/TextView_department"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="@string/TextView_department"
            android:layout_weight="1"
            android:textAlignment="center"
            android:textSize="14sp"
            android:textStyle="bold"
            android:padding="3dp" />
 
    </LinearLayout>
    
    <ScrollView 
    android:id="@+id/ScrollView" 
    android:layout_height="wrap_content"         
    android:scrollbars="horizontal|vertical" 
    android:layout_width="match_parent"     
    android:scrollbarStyle="outsideInset"
    android:layout_weight="1"> 
    
        <TableLayout 
            android:id="@+id/tableRowWithScrollView"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
                
            android:shrinkColumns="0"
            android:stretchColumns="*"
            android:layout_marginLeft="5dp"
            android:layout_margin="5dp" > 
        </TableLayout>
 
    </ScrollView>
    
    
    <LinearLayout
        android:id="@+id/LinearLayout_inner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:gravity="bottom" >
        
        <Button
            android:id="@+id/btnUpdate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btnUpdate"
            android:layout_weight="1"
            android:textSize="14sp" />
        
        <Button
            android:id="@+id/btnNew"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btnNew"
            android:layout_weight="1"
            android:textSize="14sp" />
        
        <Button
            android:id="@+id/btnEdit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btnEdit"
            android:layout_weight="1"
            android:textSize="14sp" />
        
        <Button
            android:id="@+id/btnDelete"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btnDelete"
            android:layout_weight="1"
            android:textSize="14sp" />
    </LinearLayout>
 
</LinearLayout>


Я динамически заполняю TableLayout
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
for(int i = 0; i < 50; ++i)
        {
            TextView textUser1 = new TextView(getApplicationContext());
            textUser1.setText("Ivan");
            textUser1.setTextColor(Color.BLACK);
            
            TextView textUser2 = new TextView(getApplicationContext());
            textUser2.setText("Ivanov");
            textUser2.setTextColor(Color.BLACK);
 
            TextView textUser3 = new TextView(getApplicationContext());
            textUser3.setText("Olegovich");
            textUser3.setTextColor(Color.BLACK);
 
            TextView textUser4 = new TextView(getApplicationContext());
            textUser4.setText("Department 1");
            textUser4.setTextColor(Color.BLACK);
 
            
            TableRow row = new TableRow(getApplicationContext());
        
               
            row.addView(textUser1);
            row.addView(textUser2);
            row.addView(textUser3);
            row.addView(textUser4);
            
    
            tableLayout.addView(row);
        }
Во вложении результат при создании 5 и 50 строк

Вопрос, как сделать так, чтобы все было на своих местах как при 5 элементах TableRow, чтобы не было перекрытия (наслоения).
И еще 2:
а) как отцентрировать записи (TableRow) ?
б) в шапке вы можете видеть заголовок таблицы, как лучше разместить текст, чтобы он не переносился на другие строчки ? (или мне его лучше реализовать как шапку прямо в самом TableLayout)
Миниатюры
При динамическом заполнении TableLayout происходит перекрытие соседних элементов   При динамическом заполнении TableLayout происходит перекрытие соседних элементов  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 01:13     При динамическом заполнении TableLayout происходит перекрытие соседних элементов
Посмотрите здесь:
Android Ошибка при заполнении ArrayList из массива
Android Пустое место в ListView при заполнении из файла
Выкидывает NullPointerException при заполнении данных через ArrayAdapter Android
Android TableLayout
Android TableLayout
Android TableLayout
Android TableLayout
TableLayout Android
TableLayout Android
TabLayout, отключить подгрузку соседних элементов Android
Не работает TableLayout Android
TableLayout по центру Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru