80,351
社区成员
发帖
与我相关
我的任务
分享
public UploadingAdapter(Context context, List<Upload> list, UploadingActivity activity, TextView tvNoRecord, GridView grid, RelativeLayout height)
{
super();
this.mContext = context;
this.mListData = list;
this.mTvNoRecord = tvNoRecord;
this.mGridView = grid;
this.mMenuHeight = height;
if(mListData.size() == 0)
{
mTvNoRecord.setVisibility(View.VISIBLE);
}
else
{
mTvNoRecord.setVisibility(View.INVISIBLE);
}
this.mActivity = activity;
mLoader = new GlideLoader();
}
@Override
public int getCount()
{
return mListData.size();
}
@Override
public Object getItem(int position)
{
return mListData.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
mVholder1 = new ViewHolder1();
convertView = View.inflate(mContext, R.layout.item_uploading, null);
mVholder1.mProgressBar = (ProgressBar) convertView.findViewById(R.id.progress_transfer);
mVholder1.mIvThumbnail = (ImageView) convertView.findViewById(R.id.iv_thumbnail);
// mVholder1.mIvComment = (ImageView) convertView.findViewById(R.id.iv_comment);
mVholder1.mIvTurnOn = (ImageView) convertView.findViewById(R.id.iv_turn_on);
mVholder1.mIvTurnOn.setVisibility(View.INVISIBLE);
convertView.setTag(mVholder1);
}
else
{
mVholder1 = (ViewHolder1) convertView.getTag();
}
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int height = display.getHeight();
// outRect.top是状态栏高度
Rect outRect = new Rect();
mActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(outRect);
int spacingNum = 0;
switch(mListData.size())
{
case 1:
break;
case 2:
case 3:
case 4:
spacingNum = 1;
break;
case 5:
case 6:
spacingNum = 2;
break;
default:
break;
}
realHeight = height - mMenuHeight.getHeight() - mGridView.getVerticalSpacing() * spacingNum - outRect.top;
paramses = (RelativeLayout.LayoutParams) mVholder1.mIvThumbnail.getLayoutParams();
switch(mListData.size())
{
case 1:
mGridView.setNumColumns(1);
paramses.width = LayoutParams.WRAP_CONTENT;
paramses.height = realHeight;
mVholder1.mIvThumbnail.setLayoutParams(paramses);
break;
case 2:
mGridView.setNumColumns(1);
paramses.width = LayoutParams.WRAP_CONTENT;
paramses.height = realHeight / 2;
mVholder1.mIvThumbnail.setLayoutParams(paramses);
break;
case 3:
case 4:
mGridView.setNumColumns(2);
paramses.width = LayoutParams.WRAP_CONTENT;
paramses.height = realHeight / 2;
mVholder1.mIvThumbnail.setLayoutParams(paramses);
break;
case 5:
case 6:
mGridView.setNumColumns(2);
paramses.width = LayoutParams.WRAP_CONTENT;
paramses.height = realHeight / 3;
mVholder1.mIvThumbnail.setLayoutParams(paramses);
break;
default:
break;
}
final Upload model = mListData.get(position);
// 设置缩略图
if(GlobalConfig.sDrawingUrl.get(position) != null)
{
mLoader.displayImage(mContext, GlobalConfig.sDrawingUrl.get(position), mVholder1.mIvThumbnail);
}
else
{
mLoader.displayImage(mContext, model.getUrl(), mVholder1.mIvThumbnail);
}
int progress = 0;
mVholder1.mProgressBar.setVisibility(View.VISIBLE);
// if(model.getmLevel() != 100)
// {
// mVholder1.mIvComment.setVisibility(View.VISIBLE);
// mVholder1.mIvComment.setImageResource(mLevel[model.getmLevel()]);
// }
// else
// {
// mVholder1.mIvComment.setVisibility(View.INVISIBLE);
// }
if(model.getComplete() == 1)
{
mVholder1.mProgressBar.setVisibility(View.INVISIBLE);
if(model.getTypeString().equals(GlobalConfig.UploadFileType.VIDEO))
{
mVholder1.mIvTurnOn.setVisibility(View.VISIBLE);
}
}
else
{
mVholder1.mProgressBar.setVisibility(View.VISIBLE);
mVholder1.mIvTurnOn.setVisibility(View.INVISIBLE);
}
if(mActivity.mUploadWidget.containsKey(model.getName()))
{
progress = mActivity.mUploadWidget.get(model.getName());
mVholder1.mProgressBar.setProgress(progress);
}
else
{
mVholder1.mProgressBar.setProgress(0);
}
mVholder1.mProgressBar.setTag(model.getName());
mVholder1.mIvTurnOn.setTag(mVholder1.mProgressBar);
mVholder1.mIvTurnOn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
String message = new JsonUtils<DrawPicModel>().parse(new DrawPicModel(207, model.getName(), position));
ServiceUtils.publish(message, GlobalConfig.MQTTServer.WHITEBOARD_TOPIC);
}
});
return convertView;
}
@Override
public void notifyDataSetChanged()
{
super.notifyDataSetChanged();
}
class ViewHolder1
{
ProgressBar mProgressBar;
ImageView mIvThumbnail;
ImageView mIvTurnOn;
// ImageView mIvComment;
}
public void setList(List<Upload> mList)
{
this.mListData = mList;
notifyDataSetChanged();
}
protected void onDestroy()
{
if(EventBus.getDefault().isRegistered(this))
{
EventBus.getDefault().unregister(this);
}
Glide.get(MyApplication.getInstance()).clearMemory();
new Thread(new Runnable()
{
@Override
public void run()
{
Glide.get(MyApplication.getInstance()).clearDiskCache();
}
}).start();
setContentView(R.layout.activity_about);
super.onDestroy();
}