我有progressbar
,gridview
里面的下载按钮。当gridview
加载progressbar
是看不见的。当我点击下载button
时,progressbar
应该出现相应的位置并开始下载。我做了所有这些。但是当我上下移动gridview
时,进度条会洗牌。请帮帮我。提前致谢。我在getview
的ArrayAdapter
方法做了这么多。
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
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;
}
当gridview加载进度条不可见时
将可见性设置为View.INVISIBLE
或View.GONE
。
当我点击下载按钮时,进度条应该出现相应的位置并开始下载。
将可见性设置为View.Visible
。使用setProgress()
的incrementProgressBy()
或ProgressBar
方法设置进度条