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。 对不起

相关问题