0

を使用して画像を壁紙として設定する必要があり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)

アダプタから選択したアイテムを壁紙に設定するにはどうすればよいですか?

4

1 に答える 1

0

プログラムが機能しない理由は、メソッドsetResource(int)int型ではなく型をパラメーターとして受け取るためGridItemです。

ドキュメントから詳細を読む

現在のシステムの壁紙を、指定されたリソースのビットマップに変更します。リソースは生データ ストリームとして開かれ、壁紙にコピーされます。有効な PNG または JPEG 画像でなければなりません。

また、アプリがマニフェストで壁紙を設定する権限を持っていることを確認してください

このメソッドでは、呼び出し元が権限 SET_WALLPAPER を保持している必要があります。

于 2015-05-14T18:09:52.107 に答える