2014-01-14 44 views
0

我有用相應的單元格值創建列和行標題的問題。只顯示列和行的最後位置值。無法在Android中創建具有標題(列和行)的多個行

ScrollView sv = new ScrollView(this); 

TableLayout ll = new TableLayout(this); 
HorizontalScrollView hsv = new HorizontalScrollView(this); 

String[] row = { "ROW1", "ROW2", "Row3", "Row4", "Row 5", "Row 6", "Row 7" }; 
String[] column = { "COLUMN1", "COLUMN2", "COLUMN3", "COLUMN4", "COLUMN5", "COLUMN6" }; 

int nor = row.length; 
int noc = column.length; 

TextView tv = new TextView(this); 
tv.setText("Matrix Implemention Test"); 

for (int i = 0; i < nor; i++) 
{ // for rows 
    TableRow tbrow = new TableRow(this); 

    for (int j = 0; j <= noc; j++) 
    { // for columns 
     TextView tv1 = new TextView(this); 
     String s1 = Integer.toString(i); 
     String s2 = Integer.toString(j); 
     String s3 = s1 + s2; 
     int id = Integer.parseInt(s3); 

     // tv1[i][j].setId(id); 
     if (i == 0 & j==0) { 
      tv1.setText("0=0"); 
      Log.d("TAH", "Display00!!!"); 
     } else if (i == 0) { 
      for (int r = 0; r < nor; r++) { 
       tv1.setText(row[r]); 
       Log.d("TAG", "i==0->"+row[r]); 
      } 
     } else if (j == 0) { 
      for (int c = 0; c < noc; c++) { 
       tv1.setText(column[c]); 
       Log.d("TAG", "j==0->"+row[c]); 
      } 
     } else { 
      tv1.setText("Table Cell No=>> " + id); 
     } 

     tbrow.addView(tv1); 
    } 

    ll.addView(tbrow); 
} 

hsv.addView(ll); 
sv.addView(hsv); 
setContentView(sv); 

輸出是這樣的:我想分別列和行的頭。第一行1,第2行....和第1列,第2列....等等。但只有最後的位置值顯示在代碼上方。

enter image description here

回答

0

改變你的代碼:

for (int i = 0; i < nor; i++) { // for row 

      TableRow tbrow = new TableRow(this); 

      for (int j = 0; j <= noc; j++) { // for column 
       TextView tv1 = new TextView(this); 
       String s1 = Integer.toString(i); 
       String s2 = Integer.toString(j); 
       String s3 = s1 + s2; 
       int id = Integer.parseInt(s3); 
      // tv1[i][j].setId(id); 
       if (i == 0 & j==0) { 
        tv1.setText("0=0"); 
        Log.d("TAH", "Display00!!!"); 
       } else if (i == 0) { 

         tv1.setText(column[j]); 

       } else if (j == 0) { 

         tv1.setText(row[i]); 

       } else { 
        tv1.setText("Table Cell No=>> " + id); 
       } 
       tbrow.addView(tv1); 
      } 
      ll.addView(tbrow); 
     } 

的第一件事情,你似乎也與行迷茫列,所以我糾正了。

而第二次通知for循環:

for (int r = 0; r < nor; r++) { 
         tv1.setText(row[r]); 
         Log.d("TAG", "i==0->"+row[r]); 
        } 

丟失。

在這裏,您首先將行[0]值設置爲tv1,然後設置行[1] ...等等。

最後,tv1將row [6]作爲最後一個值。

+0

它不工作,現在第一列1和第一行顯示所有列或行標題。 –

+0

它應該工作。你能發佈你正在使用的最新代碼嗎? –

相關問題