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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.86
rambayke
2 / 2 / 0
Регистрация: 31.07.2012
Сообщений: 71
#1

Как программно добавить элемент в уже существующий layout? - Android

09.09.2013, 12:18. Просмотров 3912. Ответов 2
Метки нет (Все метки)

как программно добавить элемент в уже существующий layout? например при нажатии кнопки. нужно что-то обновить?

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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
 
    <LinearLayout android:layout_width="match_parent"
        android:orientation="vertical" android:layout_weight="1"
        android:layout_height="match_parent">
        
        <TableLayout android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:id="@+id/HeaderTable">
            <TableRow style="@style/HeaderRow">
                <TextView style="@style/HeaderText" 
                    android:text="Col 1"></TextView>
                <TextView style="@style/HeaderText" 
                    android:layout_weight="1"
                    android:text="Col 2"></TextView>
                <TextView style="@style/HeaderText" 
                    android:text="Col 3"></TextView>
                <TextView style="@style/HeaderText" 
                    android:text="Col 4"></TextView>
            </TableRow>
        </TableLayout>
        
 
        <TableLayout android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:id="@+id/BodyTable">
            
            <TableRow style="@style/BodyRow">
                <TextView style="@style/BodyText" 
                    android:layout_height="0dp"
                    android:text="Cell 1,1"></TextView>
                <TextView style="@style/BodyText" 
                    android:layout_weight="1"
                    android:layout_height="0dp" 
                    android:text="Cell 1,2"></TextView>
                <TextView style="@style/BodyText" 
                    android:layout_height="0dp"
                    android:text="Cell 1,3"></TextView>
                <TextView style="@style/BodyText" 
                    android:layout_height="0dp"
                    android:text="Cell 1,4"></TextView>
            </TableRow>         
        </TableLayout>
        
        <ScrollView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ScrollView1">
            <TableLayout android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:id="@+id/BodyTable1">
                
                <TableRow style="@style/HeaderRow">
                    <TextView android:text="Col 1" style="@style/HeaderText"
                        android:layout_height="0dp" />
                    <TextView android:text="Col 2" style="@style/HeaderText"
                        android:layout_weight="1" android:layout_height="0dp" />
                    <TextView android:text="Col 3" style="@style/HeaderText"
                        android:layout_height="0dp" />
                    <TextView android:text="Col 4" style="@style/HeaderText"
                        android:layout_height="0dp" />
                </TableRow>
                
                <TableRow style="@style/BodyRow">
                    <TextView android:text="Cell 1,1" 
                        style="@style/BodyText" />
                    <TextView android:text="Cell 1,2" 
                        style="@style/BodyText"
                        android:layout_weight="1" />
                    <TextView android:text="Cell 1,3" 
                        style="@style/BodyText" />
                    <TextView android:text="Cell 1,4" 
                        style="@style/BodyText" />
                </TableRow>
                
                
                
            </TableLayout>
        </ScrollView>
        
    </LinearLayout>
 
</RelativeLayout>
хочу программно дабавить стороку в таблицу
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
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
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                
        TableLayout body = (TableLayout) findViewById(R.id.BodyTable);              
        TableRow myrow = new TableRow(this);        
        
        LayoutParams rowParam = 
                new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
        
        
        myrow.setLayoutParams(rowParam);
        int RGB = android.graphics.Color.rgb(223, 223, 223);
        myrow.setBackgroundColor(RGB);
       
        LinearLayout.LayoutParams weightParams = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        weightParams.width = 1;
        
        LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
             
        
        TextView tv1 = new TextView (this, null, R.style.BodyText);     
        tv1.setText("2,1");
        tv1.setLayoutParams(lpView);
        tv1.setHeight(0);       
        myrow.addView(tv1);
        
        TextView tv2 = new TextView(this, null, R.style.BodyText);      
        tv2.setText("2,2");
        tv2.setLayoutParams(weightParams);
        tv2.setHeight(0);
        myrow.addView(tv2);
        
        TextView tv3 = new TextView(this, null, R.style.BodyText);      
        tv3.setText("2,3");
        tv3.setLayoutParams(rowParam);
        tv3.setHeight(0);
        myrow.addView(tv3);
        
        TextView tv4 = new TextView(this, null, R.style.BodyText);      
        tv4.setText("2,4");
        tv4.setLayoutParams(rowParam);
        tv4.setHeight(0);       
        myrow.addView(tv4);
        
        body.addView(myrow);
 
        ////////////////////////       
        
        TableLayout body1 = (TableLayout) findViewById(R.id.BodyTable1);
        
        TableRow myrow1 = new TableRow(this);       
        
        LayoutParams rowParam1 = 
                new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
        
        
        myrow1.setLayoutParams(rowParam1);
        int RGB1 = android.graphics.Color.rgb(223, 223, 223);
        myrow1.setBackgroundColor(RGB1);        
       
        LinearLayout.LayoutParams weightParams1 = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        weightParams1.weight = 1;
        
        LayoutParams lpView1 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
         
        TextView tv11 = new TextView (this, null, R.style.BodyText);        
        tv11.setText("2,1");
        tv11.setLayoutParams(lpView1);
        tv11.setHeight(0);       
        myrow1.addView(tv11);
        
        TextView tv21 = new TextView(this, null, R.style.BodyText);     
        tv21.setText("2,2");
        tv21.setLayoutParams(weightParams1);
        tv21.setHeight(0);
        myrow1.addView(tv21);
        
        TextView tv31 = new TextView(this, null, R.style.BodyText);     
        tv31.setText("2,3");
        tv31.setLayoutParams(rowParam1);
        tv31.setHeight(0);
        myrow1.addView(tv31);
        
        TextView tv41 = new TextView(this, null, R.style.BodyText);     
        tv41.setText("2,4");
        tv41.setLayoutParams(rowParam1);
        tv41.setHeight(0);       
        myrow1.addView(tv41);
        
        body1.addView(myrow1);
        
        Log.d("scroll", "end");
    }
 
}
компилируется без ошибок, но и добавленных элементов не вижу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 12:18     Как программно добавить элемент в уже существующий layout?
Посмотрите здесь:

Как получить layout с другого пакета? Android
Как добавить дополнительные параметры к программно создаваемым кнопкам? Android
Android Как растянуть 3 кнопки по ширине layout?
Удалять элемент массива, который уже прошел итерацию Android
Android Программно добавить картинку в центр поля
Не хочет работать в layout, но включается в layout-land Android
Android At android.widget.LinearLayout.setChildFrame Layout в Layout-те
Android Добавить layout на layout
Android Layout как новый Activity
Как из activity_main_drawer открыть layout файлы? Android
Android Как управлять касанием на пустой области Layout?
При нажатию на кнопку добавить Layout Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tripolis
1 / 1 / 1
Регистрация: 21.03.2013
Сообщений: 10
09.09.2013, 18:50     Как программно добавить элемент в уже существующий layout? #2
Программное изменение экрана
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
12.09.2013, 11:53     Как программно добавить элемент в уже существующий layout? #3
Добавление TextView txtV в контейнер RelativeLayout программно:
Java
1
2
3
4
5
6
7
8
// находим контейнер
RelativeLayout container = (RelativeLayout) findViewById(R.id.container);
// создаем добавляемое вью
TextView txtV = new TextView(this);
// задаем размеры вью
txtV.setLayoutParams(new RelativeLayout.Params(w,h));
// добавляем вью
container.addView(txtV);
Yandex
Объявления
12.09.2013, 11:53     Как программно добавить элемент в уже существующий layout?
Ответ Создать тему
Опции темы

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