我有进度条,gridview中的下载按钮。当gridview加载进度条不可见时。当我点击下载按钮时,进度条应该显示相应的位置,下载应该开始。我做了所有这些。但是当我上下移动gridview时,进度条会混乱。请帮助我。提前致谢。 我在ArrayAdapter的getview方法中做了很多。gridview中的进度条
@覆盖 公共查看getView(最终诠释的立场,观点convertView,ViewGroup以及母公司){
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.gridviewcell, null);
viewHolder = new ViewHolderItem();
viewHolder.progressBar=(ProgressBar) convertView.findViewById(R.id.progressBar_grid);
viewHolder.tv_ot_edition_name = (TextView) convertView
.findViewById(R.id.ot_edition_name);
viewHolder.tv_edition_description = (TextView) convertView
.findViewById(R.id.ot_edition_description);
viewHolder.downloadbutton = (ImageView) convertView
.findViewById(R.id.imgBtnbookdownload);
viewHolder.progressBar = (ProgressBar) convertView
.findViewById(R.id.progressBar_grid);
viewHolder.book_image = (ImageView) convertView.findViewById(R.id.imageView1);
//viewHolder.listener = new ItemClickListener() ;
convertView.setTag(viewHolder);
convertView.setTag(R.id.progressBar_grid, viewHolder.progressBar);
viewHolder.downloadbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int getPosition = (Integer) viewHolder.progressBar.getTag();
// books.get(getPosition).setSelected(v.isSelected());
books.get(getPosition).setSelected(true);
MainActivity mainActivity=new MainActivity(GridviewDemo.this);
mainActivity.startdownload(viewHolder.progressBar);
viewHolder.progressBar.setVisibility(View.VISIBLE);
}
});
} else {
viewHolder = (ViewHolderItem) convertView.getTag();
}
viewHolder.progressBar.setTag(position);
viewHolder.tv_ot_edition_name.setText(books.get(position).getOt_edition_name());
Typeface face = Typeface.createFromAsset(context.getAssets(),
"HelveticaBold.ttf");
viewHolder.tv_ot_edition_name.setTypeface(face);
viewHolder.tv_edition_description.setTypeface(face);
viewHolder.tv_edition_description.setText(books.get(position)
.getOt_edition_description()
);
Bitmap bitmap = BitmapFactory.decodeByteArray(books.get(position)
.getImage_url(), 0, books.get(position).getImage_url().length);
viewHolder.book_image.setImageBitmap(bitmap);
// viewHolder.downloadbutton.setOnClickListener(viewHolder.listener) ;
viewHolder.downloadbutton.setImageResource(books.get(position)
.getDownloadbtn_resid());
final BookData data = (BookData)getItem(position) ;
//viewHolder.listener.setId(data.getId()) ;
//viewHolder.listener.setHolder(viewHolder) ;
//viewHolder.progressBar.setProgress(data.getProcess()) ;
return convertView;
}
如果您不介意显示所做的操作,请添加一些代码。 – Kailas
感谢您的回复。请通过编辑的帖子。它的getView()方法 – shivakumar
好吧,你是什么意思的“但进度条洗牌当我移动gridview上下”?意味着布局错位?和viewHolder.progressBar =(ProgressBar)convertView .findViewById(R.id.progressBar_grid); progressBar_grid的可见性设置为在xml文件中消失了吗? – Kailas