我有進度條,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