【发布时间】:2015-11-26 14:35:50
【问题描述】:
我想在 Gridview 中设置 Padding,就像在 listview 中的 listview 一样,我们有这样的功能
ListView lv;
index = lv.getFirstVisiblePosition();
v = lv.getChildAt(0);
top = (v == null) ? 0 : (v.getTop() - lv.getPaddingTop());
lv.setSelectionFromTop(index,top);
但是在gridview中我们没有这样的功能。
我们只有
GridView gridview;
gridview.setSelection(index);
通过这个函数。当用户滚动 GridView 时,我无法保存和设置填充。它只设置索引而不是填充
我想保存填充并设置它。
这是我的自定义适配器的 getView() 方法
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
MyStringReaderHolder holder;
if(row==null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent,false);
holder= new MyStringReaderHolder();
// holder.gtumcaTvFirstName =(TextView)row.findViewById(android.R.id.candidatesArea);
holder.gtumcaTvLastName =(TextView)row.findViewById(R.id.songTitle);
// holder.gtumcaTvBirthDate =(TextView)row.findViewById(R.id.songTitle2);
//holder.gtumcaIvIcon=(ImageView) row.findViewById(android.R.id.candidatesArea);
row.setTag(holder);
}
else
{
holder=(MyStringReaderHolder) row.getTag();
}
GtuMcaBean mrb =data.elementAt(position);
// holder.gtumcaTvFirstName.setText(mrb.gtumcaFirstName);
holder.gtumcaTvLastName.setText(mrb.gtumcaLastName);
// holder.gtumcaTvBirthDate.setText(mrb.gtumcaBirthdate);
//holder.gtumcaIvIcon.setImageResource(R.drawable.ic_launcher);
return row;
}
【问题讨论】:
-
@Androider.i 上传 getview() 方法请检查并建议我如何在其中设置填充
-
setSelectionFromTop 是 AbsListView 中的一个方法,GridView 从它扩展而来,所以看起来它也应该可用于 GridView
-
@random 它不可用:(
-
@androider.......如果我在布局中设置,它会将填充设置为永久固定值......我想像我给出的列表视图示例一样继续更改它以编程方式
标签: android listview gridview layout padding