我需要使用RecyclerView
将图像设置为墙纸。在我的适配器中,我正在使用此代码:
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
final GridItem nature = mItems.get(i);
viewHolder.tvspecies.setText(nature.getName());
viewHolder.imgThumbnail.setImageResource(nature.getThumbnail());
viewHolder.imgThumbnail.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("CLick",nature.toString());
try {
wallpaper.setResource(mItems.get(i));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
所以onClick我应该将图像设置为壁纸但在“setResource”字下我有这个错误:
The method setResource(int) in the type WallpaperManager is not applicable for the arguments (GridItem)
如何将从适配器中选择的项目设置为壁纸?
答案 0 :(得分:0)
您的程序无法运行的原因,方法setResource(int)
将int
类型作为参数而不是GridItem
类型。
将当前系统壁纸更改为给定的位图 资源。资源作为原始数据流打开并复制到 壁纸;它必须是有效的PNG或JPEG图像。
还要确保您的应用有权在清单中设置壁纸
此方法要求调用者持有权限SET_WALLPAPER。