Я пытаюсь добавить два 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 элементов.
Благодаря
где xml-файл, может быть, это LinerLayout (TableLayout) findViewById (R.id.main); –
BTW. Вы не можете добавить один и тот же вид несколько раз - 'tr.addView (controw); tr.addView (controw); '<- эти строки неверны. В то же время в одном месте можно добавить один вид. Вам нужно создать новый LinearLayout с новыми детьми. –
@Naveen Tamrakar благодарит за ответ. Я ошибаюсь. Благодарю. –