2016-06-17 8 views
0

Ich habe diesen Java-Code, der Schaltflächen auf der Zeichnung erstellt, die in einer Tabelle vorhanden sind. Ich versuche, den ganzen Tisch in der Lage zu sein, vertikal zu scrollen, aber jede Art, die ich versucht habe, gibt mir einen Fehler. Wenn ich meine 2 Zeilen Scroll-Ansicht auskommentiere, stürzt meine App ab. Jede Hilfe wäre willkommen.Wie scroll view in Java-Code für Android zu implementieren?

public void drawAllGames(UserData u){ 
    int nGames = u.lastGame; 
    TableLayout table = (TableLayout) findViewById(R.id.TableForButtons); 
    //ScrollView scroll = new ScrollView(this); 
    //((ScrollView) scroll).addView(table); 

    if(nGames != 0) { 
     TableRow tableRow = new TableRow(this); 
     table.addView(tableRow); 
     TextView title1 = new TextView(this); 
     title1.setText("Awaiting you"); 
     tableRow.addView(title1); 

     //forloops fills games awaiting my turn 
     for (int i = 0; i < nGames; i++) { 
      if (u.isMyTurn(u.allGames[i].gameid)) { 
       tableRow = new TableRow(this); 
       table.addView(tableRow); 
       Button gameButton = new Button(this); 
       gameButton.setText("Play"); 
       tableRow.addView(gameButton); 
       TextView label = new TextView(this); 
       String partner; 
       if (u.allGames[i].partner_A == u.getName()) 
        partner = u.allGames[i].partner_B; 
       else 
        partner = u.allGames[i].partner_A; 
       label.setText("  " + partner + "    Round: " + u.allGames[i].getRound()); 
       tableRow.addView(label); 
       final int game = i; 
       gameButton.setOnClickListener(
         new Button.OnClickListener() { 
          public void onClick(View v) { 
           resumeGame(game); 
          } 
         } 
       ); 
      } 
     } 

     tableRow = new TableRow(this); 
     table.addView(tableRow); 
     TextView title2 = new TextView(this); 
     title2.setText("Waiting for partner"); 
     tableRow.addView(title2); 

     //forloops fills games awaiting my turn 
     for (int i = 0; i < nGames; i++) { 
      if (!u.isMyTurn(u.allGames[i].gameid)) { 
       tableRow = new TableRow(this); 
       table.addView(tableRow); 
       TextView label = new TextView(this); 
       String partner; 
       if (u.allGames[i].partner_A == u.getName()) 
        partner = u.allGames[i].partner_B; 
       else 
        partner = u.allGames[i].partner_A; 
       label.setText("  " + partner + "    Round: " + u.allGames[i].getRound()); 
       tableRow.addView(label); 
       final int game = i; 
      } 
     } 
    } 
    else{ 
     TableRow tableRow = new TableRow(this); 
     table.addView(tableRow); 
     TextView title3 = new TextView(this); 
     title3.setText("You have no games, start a new one now!"); 
     tableRow.addView(title3); 
    } 
} 
+0

Versuchen Hinzufügen des Scroll in Ihrem xml –

Antwort

0

Sie müssen ScrollView in Ihrem Layout verwenden. Diese ist die Verwendung von Scroll:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true"> 

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:stretchColumns="1"> 

    <!-- everything you already have --> 

</TableLayout> 
</ScrollView> 
+0

die dank Mann arbeitete, dachte ich nicht, dass ich etwas in der XML benötigen würde, wenn ich es direkt von der Java-Seite hinzugefügt –