【发布时间】:2018-03-31 23:42:54
【问题描述】:
我有一个名为自定义适配器的非活动类,它在主要活动上显示图像,从互联网加载图像并在点击时设置壁纸 单击图像视图时,我想显示非 Activity 类(CustomAdapter)的插页式广告 尝试了很多东西,但都没有成功,请帮助我
自定义适配器.java
class CustomViewHolder extends RecyclerView.ViewHolder {
RibbonLayout ribbonLayout;
ImageView imageView;
public CustomViewHolder(View itemView) {
super(itemView);
ribbonLayout = (RibbonLayout)itemView.findViewById(R.id.ribbonLayout);
imageView = (ImageView)itemView.findViewById(R.id.imageView);
}
}
public class CustomAdapter extends RecyclerView.Adapter<CustomViewHolder> {
Context context;
List<Item> itemList;
public CustomAdapter(Context context, List<Item> itemList) {
this.context = context;
this.itemList = itemList;
}
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(context).inflate(R.layout.item_layout, parent, false);
return new CustomViewHolder(itemView);
}
@Override
public void onBindViewHolder(CustomViewHolder holder, int position) {
Item item = itemList.get(position);
if (item.type == 0) { //new
holder.ribbonLayout.setShowBottom(false);
holder.ribbonLayout.setShowBottom(false);
holder.ribbonLayout.setHeaderRibbonColor(Color.parseColor("#2B323A"));
holder.ribbonLayout.setHeaderTextColor(Color.parseColor("#FFFFFF"));
holder.ribbonLayout.setHeaderText((item.headerText));
Picasso.with(context).load(item.imageURL)
.into(holder.imageView);
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
Bitmap bitmap = ((BitmapDrawable) ((ImageView) view).getDrawable()).getBitmap();
WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
wallpaperManager.setBitmap(bitmap);
Toast.makeText(context, " \\ (•◡•) /Yay! Wallpaper Set \\ (•◡•) / ", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
@Override
public int getItemCount() {
return itemList.size();
}
}
【问题讨论】:
-
在设置适配器时将上下文从活动类传递给非活动类。只要您想展示广告,只需使用上下文即可。
-
尝试了很多东西,但都没有成功。告诉我们你尝试了什么。
-
@Rahulrr2602 你能写出来作为答案吗,也会帮助其他人
-
如果某件事对其他人有用,但对您无效,那么您一定是做错了什么。除非你展示你的代码和你遇到了什么错误,否则很难调试你的问题。