Ali_Waris
Ali_Waris

Reputation: 2382

Creating table layout and adding rows from the code behind in Android

I need to create a table layout and add rows dynamically from Java code behind. I have already read questions here, but they are mentioning to add table rows in an already created table layout (from xml).

I need to create the table layout as well as add data to it dynamically. Can anyone please provide some inputs?

For now, I have linear layout code in place which adds button from code behind one below the other, I need to place it under a tabular format now.

Upvotes: 0

Views: 3664

Answers (3)

user9059769
user9059769

Reputation:

Add the following code below your init() method:

for (int i = 0; i < GetGlobal.totalrow; i++) {
            TableRow tbrow = new TableRow(this);
            // tbrow.setLayoutParams(tableRowParams);
            TextView t1v = new TextView(this);

            t1v.setText(JSONParser.heading[i].replace('"', ' '));
            t1v.setBackgroundResource(R.drawable.diamond_detail1);
            t1v.setPadding(5, 3, 5, 3);
            t1v.setMinHeight(50);
            t1v.setTypeface(Typeface.SERIF);
            t1v.setTextColor(Color.parseColor("#FFFFFF"));
            t1v.setGravity(Gravity.FILL);
            tbrow.addView(t1v);

Upvotes: 0

Arlind Hajredinaj
Arlind Hajredinaj

Reputation: 8519

Add the code below to your onCreate() method in you Activity class:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    TableLayout tableLayout = new TableLayout(this);
    for (int i = 0; i < 5; i++)
    {
        TableRow tableRow = new TableRow(this);

        for (int j = 0; j < 3; j++)
        {
            Button button = new Button(this);
            button.setText(""+j);
            tableRow.addView(button);
        }

        tableLayout.addView(tableRow);
    }
    setContentView(tableLayout);
}

The code will add five rows with three buttons with the text 1 to 3 to the table.

Upvotes: 1

Durim
Durim

Reputation: 94

To add three buttons to TableRow use the code below

TableLayout tableLayout = new TableLayout(this);
    for (int i = 0; i < 10; i++)
    {
        TableRow tableRow = new TableRow(this);
        Button button = new Button(this);
        button.setText("1");
        tableRow.addView(button);

        button = new Button(this);
        button.setText("2");
        tableRow.addView(button);

        button = new Button(this);
        button.setText("3");
        tableRow.addView(button);

        tableLayout.addView(tableRow);
    }
    setContentView(tableLayout);

Upvotes: 4

Related Questions