我想在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;
}
答案 0 :(得分:2)
setSelectionFromTop
我似乎得到了GridView
。见图片
您可能应该更新您在帖子中使用的API级别或其他环境设置。
修改强>
尝试使用smoothScrollToPositionFromTop
,因为setSelectionFromTop
存在bug。