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); –

+2

BTW. Вы не можете добавить один и тот же вид несколько раз - 'tr.addView (controw); tr.addView (controw); '<- эти строки неверны. В то же время в одном месте можно добавить один вид. Вам нужно создать новый LinearLayout с новыми детьми. –

+0

@Naveen Tamrakar благодарит за ответ. Я ошибаюсь. Благодарю. –

ответ

0

К сожалению, я совершаю ошибку, я пытался поставить стол по LinearLayout. Я изменяю объявление xml от linearlayout до tablelayout. Извините,

Смежные вопросы