如何在 android 中平滑我的 gridview 滚动?

how to smooth my gridview scrolling in android?

我正在通过以下代码为 gridview 使用 class。我如何通过 viewholder 或其他方法平滑我的 gridview 滚动? 我只希望我的滚动 gridview 性能非常流畅。我使用此 gridview 显示图像和名称,然后单击 eacj 项目打开另一个 activity 了解详细信息。

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class CustomGrid extends BaseAdapter{

private Context mContext;
private final String[] web;
private final int[] Imageid;


public CustomGrid(Context c, String[] web, int[] Imageid) {
    mContext = c;
    this.Imageid = Imageid;
    this.web = web;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
    return web.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
    return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
    return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
    View grid;
    LayoutInflater inflater = (LayoutInflater)         mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    grid = new View(mContext);
    grid = inflater.inflate(R.layout.grid_item, null);
    TextView textView = (TextView) grid.findViewById(R.id.grid_text);
    ImageView imageView = (ImageView)grid.findViewById(R.id.grid_image);
    textView.setText(web[position]);
    imageView.setImageResource(Imageid[position]);


    return grid;
}
}

始终尝试对列表和网格使用 ViewHolder 模式,这会提高列表和网格的性能:

    @Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder viewHolder = null;
    if(convertView==null){
        viewHolder = new ViewHolder();
        convertView = inflater.inflate(R.layout.grid_item,parent,false);

        convertView.setTag(viewHolder);
    }
    else {
        viewHolder=(ViewHolder)convertView.getTag();
    }
    viewHolder.image=(ImageView)convertView.findViewById(R.id.thumbnail);
    viewHolder.title=(TextView)convertView.findViewById(R.id.title);
    viewHolder.title.setText(Html.fromHtml(values.getPosts().get(position).getTitle()));

    imageView.setImageResource(Imageid[position]);
    return convertView;
}

private static class ViewHolder{
    public static ImageView image;
    public static TextView title;
}