0

我試圖添加兩個LinearLayout中在同一行,在代碼,但它顯示錯誤:Android.widget.linearlayout不能轉換爲android.widget.Tablelayout

java.lang.ClassCastException: Android.widget.linearlayout cannot be cast to android.widget.Tablelayout 

我的代碼:

TableLayout main = (TableLayout) findViewById(R.id.main); 
    TableRow tr = null; 
    LinearLayout controw = null; 
    for (int i = 0; i < llista.size(); i++) { 
     tr = new TableRow(this); 
     controw = new LinearLayout(this); 

     TextView textView = new TextView(this); 
     ImageView img = new ImageView(this); 
     Bitmap resizedbitmap = ImagesResources.getInstance() 
       .StringResourceToBitmapResized(getResources(), 
         getPackageName(), llista.get(i).getSrcImatge(), 
         200, 200, true); 
     img.setImageBitmap(resizedbitmap); 
     textView.setText(list.get(i).getNameList()); 
     controw.addView(textView); 
     controw.addView(img); 
     tr.addView(controw); 
     tr.addView(controw); 
     main.addView(tr); 
    } 

如果我只添加一個LinearLayout它工作的很好,但是當我想添加第二個LinearLayout時它會崩潰。 函數StringResourceToBitmapResized返回正確的位圖。 而數組列表有4個元素。

感謝

+1

其中是xml文件請注意可能是LinerLayout(TableLayout)findViewById(R.id.main); – 2014-08-27 11:35:19

+2

順便說一句。你不能多次添加相同的視圖 - 'tr.addView(controw); tr.addView(controw);'< - 這些行是錯誤的。一個視圖可以在當時添加到一個地方。您需要爲新的子項創建新的LinearLayout。 – 2014-08-27 11:38:51

+0

@Naveen Tamrakar感謝您的回覆。我犯了一個錯誤。謝謝。 – 2014-08-27 11:48:03

回答

0

對不起,我 犯了一個錯誤我試圖把表過的LinearLayout。 我將xml聲明從linearlayout更改爲tablelayout。 對不起

相關問題