Я хотел бы создать динамическую gridview programmaticaly. Все выглядит хорошо. Но маржа для каждой ячейки не отображается. Пожалуйста помоги.Создайте GridView с пометкой для каждой ячейки программно
PagerAdapter:
@Override
public Object instantiateItem(ViewGroup container, int position) {
Calendar viewData = getData(position);
GridView gridView = new GridView(mContext);
gridView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
gridAdapter = new GridAdapter(mContext, viewData);
gridView.setNumColumns(4);
gridView.setAdapter(gridAdapter);
container.addView(view);
return gridView;
}
GridAdapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.cal_single_cell, parent, false);
layout.setLayoutParams(new GridView.LayoutParams(2, 2));
TextView lblDisplay = (TextView) layout.findViewById(R.id.lbl_cell_name);
lblDisplay.setText(getDisplayText(position));
if(CalendarConverter.dateCompare(getData(position), Calendar.getInstance(), VIEW_LEVEL) == 0){
layout.setBackgroundColor(ContextCompat.getColor(mContext, R.color.backgorund_current_cell));
}
return layout;
}
И мой cal_single_cell.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content" android:theme="@style/CalendarSingleCell">
<TextView
android:id="@+id/lbl_cell_name"
android:text="Jan"
android:textSize="18dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="64dp"
android:gravity="center" />
</LinearLayout>
view display result on google drive
Привет @NguyenDang, я ответил на вашу проблему, но ответа нет, нет информации, что мой ответ помог вам или нет. Если мой ответ поможет, пожалуйста, установите правильный ответ. Благодарю. –
Hi Maciej Sikora, он все еще не работает для меня, когда я говорю: ViewGroup layout = (ViewGroup) inflater.inflate (R.layout.cal_single_cell, parent, false); layout.setLayoutParams (новый GridView.LayoutParams (2, 2)); У меня есть белая страница. И я вижу, что ViewHolder действительно хорош для производительности. Спасибо. –
Вставить Ваш текущий код, я помогу вам, я вижу в комментарии, что вы делаете это все время неправильно. –