2016-01-22 42 views
0

我在Android上創建我的第一個應用程序,因此我有低開發android應用程序的經驗,而且我也是第一次使用java。在Android Studio中動態生成並顯示錶格

我想要什麼? 我想從ArrayList生成表格

什麼問題? 我生成表時有問題。當「for」循環完成的調試器站在catch塊中時(但是當我將鼠標移到「e」上時,它會寫入 - 「局部變量e未定義」,我看不到某個錯誤)之後,我在電話屏幕上看到 - 「不幸的是,應用程序已關閉「

沒有For Loop會發生什麼? 無For循環一切正常,當我試圖只顯示一個對象。

enter image description here

請幫忙給我的建議,感謝名單。

野兔是Java代碼:

try { 
    ArrayList<Persons> otherPersons = new ArrayList<Persons>(); 
    otherPerosons = GetPersonsList();//from service 

       // /* Find Tablelayout defined in main.xml */ 
       TableLayout tl = (TableLayout) findViewById(R.id.dynamictable); 

       TextView[] title = new TextView[1000]; 
       TableRow[] tr = new TableRow[1000]; 
       LinearLayout.LayoutParams trparams; 
       LinearLayout.LayoutParams titleparams; 

       for (int y=0; y < otherPersons.size(); y++) { 
        /* Create a new row to be added. */ 
        tr[y] = new TableRow(this); 
        tr[y].setId(y+100); 
        tr[y].setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT)); 
        trparams = (LinearLayout.LayoutParams) tr[y].getLayoutParams(); 
        trparams.setMargins(0, 8, 0, 5); //substitute parameters for left, top, right, bottom 
        tr[y].setLayoutParams(trparams); 

        /* Create a TextView to be the row-content. */ 
        title[y] = new TextView(this); 
        title[y].setText(otherPersons.get(y).Name); 
        title[y].setId(y +200); 
        title[y].setTextColor(Color.parseColor("#000000")); 
        title[y].setGravity(Gravity.LEFT); 
        title[y].setLayoutParams(new TableLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 34)); 
        titleparams = (LinearLayout.LayoutParams) title[y].getLayoutParams(); 
        titleparams.setMargins(5, 0, 0, 0); //substitute parameters for left, top, right, bottom 
        title[y].setLayoutParams(titleparams); 


        tr[y].addView(title[y]); 

        /* Add row to TableLayout. */ 

        tl.addView(tr[y], new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT)); 
       } 


      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

野兔是我設計的XML:

<TableLayout 
        android:id="@+id/dynamictable" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:shrinkColumns="*" 
        android:layout_alignParentTop="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginTop="39dp" 
        android:stretchColumns="*" 
        android:background="#ffB224"> 


       </TableLayout> 

回答

0

我不知道答案,但在嘗試讓異常輸出您的logcat輸出爲

try{ 

}catch(Exception e){ 
    Log.e("ClassName", e.toString()); 
} 

也許你看到有關例外的更多信息。

在這裏你可以找到更多有關Android Logging

+0

謝謝你的答覆,但有沒有在logcat中。 –