Регулировка динамического диапазона для TextView в TableLayout - PullRequest
0 голосов
/ 04 июля 2011

Есть ли способ, которым я могу установить диапазон объекта textview в коде Java вместо необходимости делать это в XML?Я попробовал чужое решение использовать LayoutParams .Я не знаю, правильно ли я его реализовал, или это просто неправильное решение, или, может быть, я просто не осознаю, в чем заключается моя ошибка в коде, но это вызывает сбой приложения.Буду признателен за любую помощь, я публикую свой код ниже.

package com.szymon.atrium;

import java.util.ArrayList;
import java.util.GregorianCalendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TableRow.LayoutParams;


public class TapeChart extends Activity
{
private ArrayList<Room> rooms;
private ArrayList<Arrival> arrivals;
private GregorianCalendar startDate = new GregorianCalendar(2011,1,1);
private GregorianCalendar endDate = new GregorianCalendar(2011,1,10);
private ArrivalGrid grid = new ArrivalGrid(arrivals, rooms, startDate.getTime(), endDate.getTime());

private ArrayList<ArrayList<Cell>> displayArrival = grid.displayArrivalGrid();
private ArrayList<ArrayList<Cell>> displayRooms = grid.displayRoomGrid();

@Override
public void onCreate(Bundle bundle)
{
    super.onCreate(bundle);
    setContentView(R.layout.tape);

    TableLayout tbl = (TableLayout)findViewById(R.id.tapeChart);

    for(ArrayList<Cell> a : displayRooms)
    {
        TableRow newRow = new TableRow(this);

        for(Cell c : a)
        {
            LayoutParams param = new LayoutParams();
            param.span=c.getColSpan();

            MyTextView cell = new MyTextView(this);
            cell.setText(c.getContent());
            cell.setLayoutParams(param);

            newRow.addView(cell);
        }

        tbl.addView(newRow);
    }
}

public TableLayout getArrivalsTableLayout()
{

    return null;
}

public void getRoomTableLayout()
{


}

}

1 Ответ

0 голосов
/ 26 июля 2011

С помощью кода по этой ссылке я выполнил эту проблему следующим образом:

 `TableRow.LayoutParams rowSpanLayout = new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
  rowSpanLayout.span = 3;
  TextView textView = new TextView(this);
  textView.setText("Text Title");
  tableRow.addView(textView, rowSpanLayout);` 

, динамически создавая строки на стороне кода Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...