Android gridview中的滚动问题(特别是在三星手机中)
您好,我在Gridview中遇到了一个问题。而且大多数是三星手机。有时候图标在滚动时是看不见的,或者在屏幕上方留下很多空间。这一切都是在滚动菜单时发生的。请检查屏幕截图。 gridviewadapter.javaAndroid gridview中的滚动问题(特别是在三星手机中),android,android-gridview,Android,Android Gridview,您好,我在Gridview中遇到了一个问题。而且大多数是三星手机。有时候图标在滚动时是看不见的,或者在屏幕上方留下很多空间。这一切都是在滚动菜单时发生的。请检查屏幕截图。 gridviewadapter.java public class GridviewAdapter extends ArrayAdapter<HomepageGeSe> { Context context; int layoutResourceId; ArrayList<Homepag
public class GridviewAdapter extends ArrayAdapter<HomepageGeSe>
{
Context context;
int layoutResourceId;
ArrayList<HomepageGeSe> data = null;
RecordHolder holder = null;
public GridviewAdapter(Context context, int layoutResourceId, ArrayList<HomepageGeSe> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
static class RecordHolder {
TextView txtTitle;
ImageView imageItem;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(layoutResourceId, parent, false);
holder = new RecordHolder();
holder.txtTitle = (TextView) convertView.findViewById(R.id.item_text);
holder.imageItem = (ImageView) convertView.findViewById(R.id.item_image);
convertView.setTag(holder);
} else {
holder = (RecordHolder) convertView.getTag();
}
HomepageGeSe list = data.get(position);
holder.txtTitle.setText(list.getName());
if(list.getDrawableId() != 0)
{
holder.txtTitle.setText(list.getName());
Picasso.with(context)
.load(list.getDrawableId())
.fit ()
.error(R.drawable.imagenotavailable)
.into(holder.imageItem);
}
return convertView;
}
}
Homepage.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:id = "@+id/rootLayout"
android:orientation="vertical">
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:columnWidth="90dp"
android:gravity="center"
android:numColumns="auto_fit"
android:horizontalSpacing="10dp"
android:verticalSpacing="15dp"
android:stretchMode="columnWidth" />
</LinearLayout>
</RelativeLayout>
gridview_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp">
<ImageView
android:id="@+id/item_image"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/imageDes">
</ImageView>
<TextView
android:id="@+id/item_text"
android:layout_below="@+id/item_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:gravity="center"
android:textAppearance="?android:attr/textAppearance"
android:textColor="@color/textview_all">
</TextView>
</RelativeLayout>
公共类GridviewAdapter扩展了ArrayAdapter
{
语境;
国际布局资源;
ArrayList数据=null;
记录持有者=null;
公共GridviewAdapter(上下文上下文、int-layoutResourceId、ArrayList数据){
超级(上下文、布局资源ID、数据);
this.layoutResourceId=layoutResourceId;
this.context=上下文;
这个数据=数据;
}
静态类记录保持器{
TextView-txtTitle;
图像查看图像项;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
LayoutInflater mInflater=(LayoutInflater)context.getSystemService(context.LAYOUT\u INFLATER\u SERVICE);
convertView=mInflater.inflate(布局资源ID,父项,false);
holder=新记录持有者();
holder.txtTitle=(TextView)convertView.findViewById(R.id.item_text);
holder.imageItem=(ImageView)convertView.findViewById(R.id.item_image);
convertView.setTag(支架);
}否则{
holder=(RecordHolder)convertView.getTag();
}
homepagese list=data.get(位置);
holder.txtTitle.setText(list.getName());
if(list.getDrawableId()!=0)
{
holder.txtTitle.setText(list.getName());
毕加索。与(上下文)
.load(list.getDrawableId())
.fit()
.错误(R.drawable.imagenotavailable)
.进入(持有人.项目);
}
返回视图;
}
}
Homepage.xml
gridview_row.xml