Java源码示例:com.d.lib.xrv.adapter.CommonHolder
示例1
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setText(R.id.tv_item, item.item);
holder.setTextColor(R.id.tv_item, ContextCompat.getColor(mContext, item.color));
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsChecked) {
item.isChecked = true;
notifyDataSetChanged();
}
onItemClick(position, item);
}
});
}
示例2
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setText(R.id.tv_item, item.item);
holder.setTextColor(R.id.tv_item, ContextCompat.getColor(mContext, item.color));
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.setViewVisibility(R.id.v_bttom_line, position < getItemCount() - 1 ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsChecked) {
item.isChecked = true;
notifyDataSetChanged();
}
onItemClick(position, item);
}
});
}
示例3
@Override
public void convert(int position, CommonHolder holder, Bean item) {
// 先判断mLayoutId布局类型,后通过通用holder方法赋值
switch (holder.mLayoutId) {
case R.layout.item_0:
holder.setText(R.id.tv_des, "P:" + position + "_" + item.content);
break;
case R.layout.item_1:
holder.setText(R.id.tv_des, "P:" + position + "_" + item.content);
break;
case R.layout.item_2:
holder.setText(R.id.tv_des, "P:" + position + "_" + item.content);
break;
case R.layout.item_3:
holder.setText(R.id.tv_des, "P:" + position + "_" + item.content);
break;
}
}
示例4
private void collect(MusicModel item, CommonHolder holder, int position) {
Operater.collect(mContext, type, item, true);
// Status "item.isCollected" is changed
if (type == AppDB.COLLECTION_MUSIC && !item.isCollected) {
mDatas.remove(item);
notifyDataSetChanged();
if (listener != null) {
listener.onChange(mDatas.size());
}
} else {
holder.setText(R.id.tv_collect, item.isCollected
? mContext.getResources().getString(R.string.module_common_collected)
: mContext.getResources().getString(R.string.module_common_collect));
// 将下拉菜单收回
pullUp(item, holder);
}
}
示例5
@Override
public void convert(final int position, CommonHolder holder, final OperationDialog.Bean item) {
// Change Skin
holder.setBackground(R.id.iv_item, type == TYPE_NIGHT ?
R.drawable.module_common_corner_more : R.drawable.module_common_corner_more_light);
holder.setTextColor(R.id.tv_item, type == TYPE_NIGHT ?
ContextCompat.getColor(mContext, R.color.color_popup_more)
: ContextCompat.getColor(mContext, R.color.color_popup_more_light));
holder.setImageResource(R.id.iv_item, item.drawble);
holder.setText(R.id.tv_item, item.item);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClick(position, item);
}
});
}
示例6
@Override
public void convert(int position, CommonHolder holder, final BillModel item) {
holder.setViewVisibility(musics[0], View.GONE);
holder.setViewVisibility(musics[1], View.GONE);
holder.setViewVisibility(musics[2], View.GONE);
if (item.content != null && item.content.size() > 0) {
for (int i = 0; i < item.content.size() && i < 3; i++) {
holder.setViewVisibility(musics[i], View.VISIBLE);
holder.setText(musics[i], (i + 1) + ". " + item.content.get(i).title + " - " + item.content.get(i).author);
}
}
Glide.with(mContext)
.load(item.pic_s192)
.apply(new RequestOptions().dontAnimate())
.into((ImageView) holder.getView(R.id.iv_cover));
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.openActivity(mContext, DetailActivity.TYPE_BILL, "" + item.type, "" + item.name);
}
});
}
示例7
@Override
public void convert(int position, CommonHolder holder, final MVModel item) {
holder.setText(R.id.tv_play_count, mContext.getResources().getString(R.string.module_common_play_count)
+ formatPlayCount(item.playCount));
holder.setText(R.id.tv_seq, "" + (position + 1));
holder.setTextColor(R.id.tv_seq, position < 3 ? ContextCompat.getColor(mContext, R.color.lib_pub_color_red)
: ContextCompat.getColor(mContext, R.color.lib_pub_color_white));
holder.setText(R.id.tv_title, "" + item.name);
holder.setText(R.id.tv_singer, "" + item.artistName);
Glide.with(mContext)
.load(item.cover)
.apply(new RequestOptions().dontAnimate())
.into((ImageView) holder.getView(R.id.iv_cover));
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MVDetailActivity.openActivity(mContext, item.id);
}
});
}
示例8
@Override
public void convert(int position, CommonHolder holder, final SingerModel item) {
holder.setText(R.id.tv_seq, "" + (position + 1));
holder.setTextColor(R.id.tv_seq, position < 3 ? ContextCompat.getColor(mContext, R.color.lib_pub_color_red)
: ContextCompat.getColor(mContext, R.color.lib_pub_color_text_sub));
holder.setText(R.id.tv_singer, "" + item.name);
holder.setText(R.id.tv_score, mContext.getResources().getString(R.string.module_common_heat)
+ "?");
holder.getConvertView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.openActivity(mContext, DetailActivity.TYPE_ARTIST,
item.ting_uid, item.name, item.avatar_big);
}
});
Glide.with(mContext)
.load(item.avatar_middle)
.apply(new RequestOptions().dontAnimate())
.into((ImageView) holder.getView(R.id.iv_cover));
}
示例9
@Override
public void convert(final int position, final CommonHolder holder, final MVDetailModel item) {
switch (holder.mLayoutId) {
case R.layout.module_online_adapter_mv_detail_info:
if (item instanceof MVInfoModel) {
convertInfo(position, holder, (MVInfoModel) item);
}
break;
case R.layout.module_online_adapter_mv_detail_similar:
if (item instanceof MVSimilarModel) {
convertSimilar(position, holder, (MVSimilarModel) item);
}
break;
case R.layout.module_online_adapter_mv_detail_comment:
if (item instanceof MVCommentModel) {
convertComment(position, holder, (MVCommentModel) item);
}
break;
}
}
示例10
@Override
public void convert(final int position, final CommonHolder holder, final RadioModel item) {
holder.setText(R.id.tv_content, item.content);
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!item.isChecked) {
item.isChecked = true;
mDatas.get(index).isChecked = false;
index = position;
notifyDataSetChanged();
}
}
});
}
示例11
@Override
public void convert(final int position, final CommonHolder holder, final RadioModel item) {
holder.setBackground(R.id.flyt_check, item.color);
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!item.isChecked) {
item.isChecked = true;
mDatas.get(index).isChecked = false;
index = position;
notifyDataSetChanged();
}
}
});
}
示例12
@Override
public void convert(final int position, final CommonHolder holder, final TransferModel item) {
switch (holder.mLayoutId) {
case R.layout.module_transfer_adapter_head_downloading:
coverHeadDownloading(holder, item);
break;
case R.layout.module_transfer_adapter_head_downloaded:
coverHeadDownloaded(position, holder, item);
break;
case R.layout.module_transfer_adapter_song:
coverSong(position, holder, item);
break;
case R.layout.module_transfer_adapter_mv:
coverMV(position, holder, item);
break;
}
}
示例13
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setText(R.id.tv_item, item.item);
holder.setTextColor(R.id.tv_item, ContextCompat.getColor(mContext, item.color));
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsChecked) {
item.isChecked = true;
notifyDataSetChanged();
}
onItemClick(position, item);
}
});
}
示例14
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setText(R.id.tv_item, item.item);
holder.setTextColor(R.id.tv_item, ContextCompat.getColor(mContext, item.color));
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.setViewVisibility(R.id.v_bttom_line, position < getItemCount() - 1 ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsChecked) {
item.isChecked = true;
notifyDataSetChanged();
}
onItemClick(position, item);
}
});
}
示例15
@Override
public void convert(int position, CommonHolder holder, LoaderModel item) {
holder.setText(R.id.tv_title, item.title);
holder.setText(R.id.tv_rating, LoaderModel.getRating(item));
holder.setText(R.id.tv_directors, "导演:" + LoaderModel.getDirectors(item.directors));
holder.setText(R.id.tv_casts, "主演:" + LoaderModel.getCasts(item.casts));
Glide.with(mContext).load(item.images != null ? item.images.medium : "")
.apply(new RequestOptions().placeholder(R.color.lib_pub_color_bg_sub))
.into((ImageView) holder.getView(R.id.iv_image));
}
示例16
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setText(R.id.tv_item, item.item);
holder.setImageResource(R.id.iv_item, item.drawble);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClick(position, item);
}
});
}
示例17
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
if (holder.mLayoutId == R.layout.lib_pub_adapter_dlg_bottom_share_content) {
holder.setText(R.id.tv_title, item.title);
holder.setText(R.id.tv_content, item.content);
} else if (holder.mLayoutId == R.layout.lib_pub_adapter_dlg_bottom_share_psw) {
holder.setText(R.id.tv_title, item.title);
holder.setText(R.id.tv_psw, item.password);
ToggleButton toggleButton = holder.getView(R.id.tbtn_toggle);
toggleButton.setOpen(item.isChecked);
}
}
示例18
@Override
public void convert(final int position, CommonHolder holder, final Bean item) {
holder.setViewVisibility(R.id.v_menu_line, position != 0 ? View.VISIBLE : View.GONE);
holder.setText(R.id.tv_menu_item, item.item);
holder.setTextColor(R.id.tv_menu_item, ContextCompat.getColor(mContext, item.color));
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClick(position, item.item);
}
});
}
示例19
@Override
public void convert(int position, final CommonHolder holder, Bean item) {
if (isLinear) {
holder.setViewVisibility(R.id.llyt_style0, View.VISIBLE);
holder.setViewVisibility(R.id.v_style0, View.VISIBLE);
holder.setViewVisibility(R.id.tv_style1, View.GONE);
linearConvert(holder, item);
} else {
holder.setViewVisibility(R.id.llyt_style0, View.GONE);
holder.setViewVisibility(R.id.v_style0, View.GONE);
holder.setViewVisibility(R.id.tv_style1, View.VISIBLE);
gridConvert(holder, item);
}
}
示例20
@SuppressLint("ClickableViewAccessibility")
private void gridConvert(final CommonHolder holder, Bean item) {
final TextView tvHandler = holder.getView(R.id.tv_style1);
tvHandler.setText(item.content);
tvHandler.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN && getItemCount() > 1 && startDragListener != null) {
// Step 9-5: 只有调用onStartDrag才会触发拖拽 (这里在touch时开始拖拽,当然也可以单击或长按时才开始拖拽)
startDragListener.onStartDrag(holder);
return true;
}
return false;
}
});
// Step 9-7: 设置ItemTouchListener
holder.setOnItemTouchListener(new ItemTouchHelperViewHolder() {
@Override
public void onItemSelected() {
// 触发拖拽时回调
tvHandler.setBackgroundDrawable(ContextCompat.getDrawable(mContext, R.drawable.corner_bg_touch_select));
}
@Override
public void onItemClear() {
// 手指松开时回调
tvHandler.setBackgroundDrawable(ContextCompat.getDrawable(mContext, R.drawable.corner_bg_touch_normal));
}
});
}
示例21
@SuppressLint("ClickableViewAccessibility")
private void linearConvert(final CommonHolder holder, Bean item) {
holder.setText(R.id.tv_style0, item.content);
ImageView ivHandler = holder.getView(R.id.iv_style0_handler);
ivHandler.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN && getItemCount() > 1 && startDragListener != null) {
// Step 9-5: 只有调用onStartDrag才会触发拖拽 (这里在touch时开始拖拽,当然也可以单击或长按时才开始拖拽)
startDragListener.onStartDrag(holder);
return true;
}
return false;
}
});
// Step 9-7: 设置ItemTouchListener
holder.setOnItemTouchListener(new ItemTouchHelperViewHolder() {
@Override
public void onItemSelected() {
// 触发拖拽时回调
holder.itemView.setBackgroundColor(colorSelected);
}
@Override
public void onItemClear() {
// 手指松开时回调
holder.itemView.setBackgroundColor(0);
}
});
}
示例22
@Override
public void convert(int position, CommonHolder holder, final Bean item) {
holder.setViewVisibility(R.id.flyt_block, View.GONE);
holder.setText(R.id.tv_des, item.mark);
holder.getConvertView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Class clz;
switch (item.index) {
case 0:
default:
clz = SimpleLrvActivity.class;
break;
case 1:
clz = MultipleLrvActivity.class;
break;
case 2:
clz = SimpleXrvActivity.class;
break;
case 3:
clz = MultipleXrvActivity.class;
break;
case 4:
clz = ItemTouchActivity.class;
break;
}
mContext.startActivity(new Intent(mContext, clz));
}
});
}
示例23
@Override
public void convert(int position, CommonHolder holder, final FolderModel item) {
holder.setText(R.id.tv_folder_dir, item.folder);
holder.setText(R.id.tv_folder_count, "" + item.count);
holder.setViewOnClickListener(R.id.llyt_folder, new OnClickFastListener() {
@Override
public void onFastClick(View v) {
MainActivity.getManger().replace(SongFragment.getInstance(AppDB.LOCAL_ALL_MUSIC,
AbstractLMFragment.TYPE_FOLDER, item.folder));
}
});
}
示例24
@Override
public void convert(int position, CommonHolder holder, final AlbumModel item) {
holder.setText(R.id.tv_album, item.album);
holder.setText(R.id.tv_title, "" + item.count);
holder.setViewOnClickListener(R.id.llyt_album, new OnClickFastListener() {
@Override
public void onFastClick(View v) {
MainActivity.getManger().replace(SongFragment.getInstance(AppDB.LOCAL_ALL_MUSIC,
AbstractLMFragment.TYPE_ALBUM, item.album));
}
});
}
示例25
@Override
public void convert(int position, CommonHolder holder, final SingerModel item) {
holder.setText(R.id.tv_singer, item.singer);
holder.setText(R.id.tv_title, "" + item.count);
holder.setViewOnClickListener(R.id.llyt_singer, new OnClickFastListener() {
@Override
public void onFastClick(View v) {
MainActivity.getManger().replace(SongFragment.getInstance(AppDB.LOCAL_ALL_MUSIC,
AbstractLMFragment.TYPE_SINGER, item.singer));
}
});
}
示例26
@Override
public void convert(int position, CommonHolder holder, final RadioModel item) {
holder.setText(R.id.tv_title, "" + item.name);
Glide.with(mContext)
.load(item.thumb)
.apply(new RequestOptions().dontAnimate())
.into((ImageView) holder.getView(R.id.iv_cover));
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.openActivity(mContext, DetailActivity.TYPE_RADIO, item.ch_name, item.name, item.thumb);
}
});
}
示例27
private void convertSimilar(final int position, final CommonHolder holder, final MVSimilarModel item) {
holder.setText(R.id.tv_mv_similar_play_count, ">: " + item.playCount);
holder.setText(R.id.tv_mv_similar_title, item.name);
holder.setText(R.id.tv_mv_similar_singer, item.artistName);
Glide.with(mContext)
.load(item.cover)
.apply(new RequestOptions().dontAnimate())
.into((ImageView) holder.getView(R.id.iv_mv_similar_cover));
}
示例28
private void convertComment(final int position, final CommonHolder holder, final MVCommentModel item) {
holder.setText(R.id.tv_mv_comment_user, item.user.nickname);
holder.setText(R.id.tv_mv_comment_time, dateFormat.format(new Date(item.time)));
holder.setText(R.id.tv_mv_comment_content, item.content);
Glide.with(mContext)
.load(item.user.avatarUrl)
.apply(new RequestOptions().transform(circleTransform).dontAnimate())
.into((ImageView) holder.getView(R.id.iv_mv_comment_cover));
}
示例29
@Override
public void convert(final int position, final CommonHolder holder, final RadioModel item) {
holder.setText(R.id.tv_content, item.content);
holder.setViewVisibility(R.id.iv_check, item.isChecked ? View.VISIBLE : View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position == getItemCount() - 1) {
TimingDialog dialog = new TimingDialog(mContext);
dialog.setOnTimingListener(new TimingDialog.OnTimingListener() {
@Override
public void onSubmit(long time) {
Preferences.getIns(mContext.getApplicationContext()).putSleepType(6);
((Activity) mContext).finish();
}
@Override
public void onCancel() {
}
});
dialog.show();
return;
}
if (!item.isChecked) {
item.isChecked = true;
if (index >= 0 && index < mDatas.size()) {
mDatas.get(index).isChecked = false;
}
index = position;
notifyDataSetChanged();
if (listener != null) {
listener.onChange(position);
}
}
}
});
}
示例30
private void coverHeadDownloaded(final int position, final CommonHolder holder, final TransferModel item) {
holder.setViewOnClickListener(R.id.tv_clear_task, new View.OnClickListener() {
@Override
public void onClick(View v) {
getOperater().clear(1);
}
});
}