GridView不能平滑滚动 [英] GridView is not Scrolling smoothly
本文介绍了GridView不能平滑滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在可绘制文件夹中存在100多个图像我在GridView中创建图库,但是面临着滚动问题。尽管我使用过ViewHolder,但GridView并不能顺利滚动......
这是我的代码...
public class MainActivity extends Activity {
int [100] Names_images = {R.drawable.img1,R.drawable.img3,R.drawable.img4,R.drawable.img5, R.drawable.img6,...}; // 100 images
String [100] names = {name1,name2,name3,name4,name5 name6,...}; // 100名称
GridView gridview;
CustomizedGridAdapter1适配器;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridview =(GridView)findViewById(R.id.gridView);
adapter = new CustomizedGridAdapter1();
gridview.setAdapter(adapter);
}
静态类viewHolderClass {
TextView Name;
ImageView name_img;
TextView Number;
}
public class CustomizedGridAdapter1 extends BaseAdapter {
LayoutInflater inflater = null;
@Override
public int getCount(){
return names.length;
}
@Override
public Object getItem(int position){
return position;
}
@Override
public long getItemId(int position){
return position;
}
@Override
public View getView(int position,View v,ViewGroup parent){
viewHolderClass viewHolder = null;
if(v == null){
inflater =(LayoutInflater)(MainActivity.this).getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.gridblock,parent,false);
viewHolder = new viewHolderClass();
viewHolder.Name =(TextView)v.findViewById(R.id.name);
viewHolder.name_img =(ImageView)v.findViewById(R.id.name_image);
viewHolder.Number =(TextView)v.findViewById(R.id.number);
v.setTag(viewHolder);
} else {
viewHolder =(viewHolderClass)v.getTag();
}
viewHolder.Name.setText(names [position]);
viewHolder.name_img.setImageResource(Names_images [position]);
viewHolder.Number.setText(String.valueOf(position + 1));
return v;
} //结束外部类
解决方案请尝试使用lazy loader之类的图片: https://github.com/nostra13/Android-Universal-Image-Loader
I have 100 plus images present in drawable folder I am creating gallery in GridView, But facing scrolling issues. gridView is not scrolling smoothly although I have used ViewHolder...
here is my code...
public class MainActivity extends Activity {
int[100] Names_images = {R.drawable.img1,R.drawable.img3,R.drawable.img4,R.drawable.img5,R.drawable.img6,...};//100 images
String[100] names = {"name1","name2","name3","name4","name5","name6",...};// 100 names
GridView gridview;
CustomizedGridAdapter1 adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridview = (GridView) findViewById(R.id.gridView);
adapter = new CustomizedGridAdapter1();
gridview.setAdapter(adapter);
}
static class viewHolderClass{
TextView Name;
ImageView name_img;
TextView Number;
}
public class CustomizedGridAdapter1 extends BaseAdapter {
LayoutInflater inflater=null;
@Override
public int getCount() {
return names.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
viewHolderClass viewHolder=null;
if(v == null){
inflater = (LayoutInflater) (MainActivity.this).getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.gridblock,parent, false);
viewHolder = new viewHolderClass();
viewHolder.Name = (TextView)v.findViewById(R.id.name);
viewHolder.name_img = (ImageView)v.findViewById(R.id.name_image);
viewHolder.Number = (TextView)v.findViewById(R.id.number);
v.setTag(viewHolder);
}else{
viewHolder = (viewHolderClass)v.getTag();
}
viewHolder.Name.setText(names[position]);
viewHolder.name_img.setImageResource(Names_images[position]);
viewHolder.Number.setText(String.valueOf(position+1));
return v;
}
}//end of outer Class
解决方案
Try using image lazzy loader like:
https://github.com/nostra13/Android-Universal-Image-Loader
这篇关于GridView不能平滑滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文