アプリがどのように実装されているか見てみよう
どのように実装されているかコードを見てみましょう。
「列の定義」にて使用されているコードは2つです。activity_column_definitions.xmlにてFlexGridのViewを定義し、カラムの設定をColumnDefinitionsActivity.javaにて行っています。

ColumnDefinitionsActivity.javaにてどのようにカラムを設定しているかを詳しく見てみましょう。
public class ColumnDefinitionsActivity extends Activity
{
	private FlexGrid mGrid;
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_column_definitions);
		//(1)
                // initializing grid
		mGrid = (FlexGrid) findViewById(R.id.flexgrid);
		// auto column generation disabled in activity_column_definitions.xml
		// mGrid.setAutoGenerateColumns(false);
		//(2)
		mGrid.setItemsSource(Customer.getList(100));
		//(3)
		// initialize new columns
		GridColumn idColumn = new GridColumn(mGrid, "Id", "id");
		idColumn.setReadOnly(true); //(4)
		GridColumn firstNameColumn = new GridColumn(mGrid, "First Name", "firstName");
		GridColumn lastNameColumn = new GridColumn(mGrid, "Last Name", "lastName");
		GridColumn orderTotalColumn = new GridColumn(mGrid, "Order Total", "orderTotal");
		orderTotalColumn.setFormat("$#.##"); //(5)
		GridColumn countryColumn = new GridColumn(mGrid, "Country", "countryId");
		countryColumn.setDataMap(new GridDataMap(Customer.getCounties(), "countryId", "countryName"));
		countryColumn.setShowDropDown(true); //(6)
		GridColumn lastOrderDateColumn = new GridColumn(mGrid, "Last Order Time", "lastOrderDate");
		lastOrderDateColumn.setFormat("hh:mm a");
		GridColumn activeColumn = new GridColumn(mGrid, "Active", "active");
		activeColumn.setDataType(DataType.BOOLEAN); //(7)
		//(8)
		// add new columns
		mGrid.getColumns().add(idColumn);
		mGrid.getColumns().add(firstNameColumn);
		mGrid.getColumns().add(lastNameColumn);
		mGrid.getColumns().add(orderTotalColumn);
		mGrid.getColumns().add(countryColumn);
		mGrid.getColumns().add(lastOrderDateColumn);
		mGrid.getColumns().add(activeColumn);
		//(9)
		mGrid.setCellFactory(new TimeEditorCellFactory(mGrid));
	}
	@Override
	protected void onStart()
	{
		super.onStart();
		//(10)
		// auto resize all the columns so that the text from each row is analyzed and sets the
		// column width to the highest text width.
		mGrid.autoSizeColumns(0, mGrid.getColumns().size() - 1);
	}
}
  - FlexGridを初期化する。
- setItemsSourceメソッドはFlexGridに表示するデータのデータソースを設定する。
- 表示に必要な数の列(GridColumnクラス)を作成して、列名と先ほど設定したデータの項目名をバインドする。
- setReadOnlyメソッドで編集不可にできる。
- setFormatメソッドでデータを表示する書式("$#.##")で「$1.99」を設定する。
- setShowDropDownメソッドでドロップダウンリストの使用を設定する。
- setDataTypeメソッドで項目"Active"の列をチェックボックス型に設定する。
- FlexGridに作成した列を追加する。
- 数値の項目を編集する際にAndroidのタイムピッカーダイアログを表示する。セル編集のカスタマイズにはCellFactory機能を利用する。
- 列のサイズをテキストの長さに応じて自動調整する。
 
 
 
              
               
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                              
                               
                              
                               
                              
                               
                              
                               
                              
                               
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
															
														 
															
														.png) 
     
     
     
     
     
													 
													 
													 
													 
													 
										
									
 
                    
