gridview中的进度条

问题描述 投票:0回答:1

我有progressbargridview里面的下载按钮。当gridview加载progressbar是看不见的。当我点击下载button时,progressbar应该出现相应的位置并开始下载。我做了所有这些。但是当我上下移动gridview时,进度条会洗牌。请帮帮我。提前致谢。我在getviewArrayAdapter方法做了这么多。

@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; 
}
android gridview android-progressbar
1个回答
-1
投票

当gridview加载进度条不可见时

将可见性设置为View.INVISIBLEView.GONE

当我点击下载按钮时,进度条应该出现相应的位置并开始下载。

将可见性设置为View.Visible。使用setProgress()incrementProgressBy()ProgressBar方法设置进度条

© www.soinside.com 2019 - 2024. All rights reserved.