Я написал код, который должен динамически добавлять TableRow в TableLayout. В свою очередь, каждая строка содержит изображение и текст под ним. (Пример на картинке)
Когда я запускаю свое приложение, по какой-то причине отображается только TextView, изображение, которое я не вижу.
В чем может быть проблема?
Вот мой код:
tableLayout = findViewById(R.id.tablet_layout_item);
for (int i = 0; i < itemList.size(); i++) {
final float scale = getResources().getDisplayMetrics().density;
int dpWidthInPx = (int) (18 * scale);
int dpHeightInPx = (int) (250 * scale);
TableRow tableRow_title = new TableRow(mContext);
TableRow.LayoutParams params_text = new TableRow.LayoutParams();
params_text.setMargins(dpWidthInPx, dpWidthInPx, dpWidthInPx, dpWidthInPx);
TextView textView_title = new TextView(mContext);
textView_title.setText(itemList.get(i).getName());
textView_title.setTextSize(TypedValue.COMPLEX_UNIT_SP,18);
textView_title.setLayoutParams(params_text);
tableRow_title.addView(textView_title);
tableLayout.addView(tableRow_title);
for (int j = 0; j < itemList.get(i).getItemPageList().size(); j++)
{
String title = itemList.get(i).getItemPageList().get(j).getTitle();
String text = itemList.get(i).getItemPageList().get(j).getText();
Bitmap bitmap = itemList.get(i).getItemPageList().get(j).getImage();
TableRow tableRow_page = new TableRow(mContext);
TableRow.LayoutParams params_page = new TableRow.LayoutParams();
params_page.setMargins(dpWidthInPx, dpWidthInPx, dpWidthInPx, dpWidthInPx);
/**LinearLayout**/
LinearLayout linearLayout_page = new LinearLayout(mContext);
LinearLayout.LayoutParams paramsLinearLayout_page = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
linearLayout_page.setLayoutParams(params_page);
linearLayout_page.setOrientation(LinearLayout.VERTICAL);
tableRow_page.addView(linearLayout_page);
/**Image**/
ImageView imageView_page = new ImageView(mContext);
imageView_page.setBackground(new BitmapDrawable(getResources(), bitmap));
imageView_page.setLayoutParams(paramsLinearLayout_page);
/**Text**/
TextView textView_page = new TextView(mContext);
textView_page.setText(title);
textView_page.setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
textView_page.setTextColor(Color.BLACK);
textView_page.setLayoutParams(paramsLinearLayout_page);
linearLayout_page.addView(imageView_page);
linearLayout_page.addView(textView_page);
tableRow_page.setBackgroundResource(R.drawable.row_border);
tableRow_page.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), title, Toast.LENGTH_LONG).show();
}
});
tableLayout.addView(tableRow_page);
}
}
UPD: Проблема была в растровом изображении,это всегда было нулевым. Код полностью работает, и я надеюсь, что он кому-нибудь поможет.