web-dev-qa-db-ja.com

Android複数の列を持つテーブルを作成する方法は?

Androidでテーブルを作成したいと思います。私が見たほとんどの例は2列です。(JavaとAndroidは初めてです。 )3〜4列が必要で、テーブルに行を動的に追加できるはずです。サンプルコードをだれでも提供できます(Win 7でEclipseを使用しています)。

16
narayanpatra

データベースのテーブルではなく、TableLayoutビューについて話していると思いますか?

その場合、3つの列と3つの行を持つテーブルのXMLの例を次に示します。

各<TableRow>要素はテーブルに行を作成し、要素内の各ビューは「列」を作成します。私はTextViewsを使用しましたが、ImageViews、EditTextなどにすることができます。

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
         Android:id = "@+id/RHE"
         Android:layout_width="wrap_content"
         Android:layout_height="wrap_content"
         Android:layout_weight="0"
         Android:padding="5dp">

     <TableRow Android:layout_height="wrap_content">
         <TextView
             Android:id="@+id/runLabel"
             Android:text="R"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/hitLabel"
             Android:text="H"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/errorLabel"
             Android:text="E"
             Android:layout_height="wrap_content"
             />
     </TableRow>

     <TableRow Android:layout_height="wrap_content">
         <TextView
             Android:id="@+id/visitorRuns"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/visitorHits"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/visitorErrors"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
     </TableRow>

     <TableRow Android:layout_height="wrap_content">
         <TextView
             Android:id="@+id/homeRuns"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/homeHits"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
         <TextView
             Android:id="@+id/homeErrors"
             Android:text="0"
             Android:layout_height="wrap_content"
             />
     </TableRow>
</TableLayout>

コードでこれらを動的に変更するには、次のようにします。

// reference the table layout
TableLayout tbl = (TableLayout)findViewById(R.id.RHE);
// delcare a new row
TableRow newRow = new TableRow(this);
// add views to the row
newRow.addView(new TextView(this)); // you would actually want to set properties on this before adding it
// add the row to the table layout
tbl.addView(newRow);
25
Peter