14

慣れていないことをお許しください。私の専門用語が間違っている可能性があります。

私はclass1に画像の配列を持っています。画像が選択されると、そのIDがclass2に渡されます(以下のコード)。次に、その画像を表示し、壁紙として設定するオプションを提供します。問題は、以下のコードを使用すると、ImageView ではなく、壁紙を割り当てるためにドローアブルが必要になることです。「myWallpaperManager.setResource(ここにドローアブルが必要);」がある実際のドローアブルを参照する際に、誰かが私にいくつかのガイダンスを与えることができますか?

前もって感謝します。私が初心者だと言ったように、これが理にかなっていることを願っています!

public class FullWallView extends Activity {
private Button wallbutton;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wallpaper_full);

    // get intent data
    Intent i = getIntent();

    // Selected image id
    int position = i.getExtras().getInt("id");
    ImageAdapter imageAdapter = new ImageAdapter(this);

    ImageView imageView = (ImageView) findViewById(R.id.full_wall_view);
    imageView.setImageResource(imageAdapter.mThumbIds[position]);

    //Making Button Clickable and setting the wallpaper
    wallbutton = (Button) findViewById(R.id.apply);
    wallbutton.setOnClickListener(new Button.OnClickListener()
    {

           @Override
           public void onClick(View arg0) {
            // TODO Auto-generated method stub
            WallpaperManager myWallpaperManager
             = WallpaperManager.getInstance(getApplicationContext());
            try {
                myWallpaperManager.setResource(need a drawable here);
            } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }

           }});
4

4 に答える 4

12

getResources().getDrawable(int id)メソッドは、API レベル 22 で廃止されました。

バージョンを確認してから、次の方法を使用できます。

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
       imageView.setImageDrawable(getApplicationContext().getDrawable(R.drawable.myDrawable));
  } else {
      imageView.setImageDrawable(getResources().getDrawable(R.drawable.myDrawable));
    }

.

于 2016-09-20T21:05:37.817 に答える
1

Drawable ではなく resourceID を渡す必要があることに気付きました。ImageView から resourceID を直接取得する方法はありません。この値を覚えてから渡すようにしてください。

これが役に立ち、あなたの仕事を楽しんでくれることを願っています

于 2013-05-20T01:43:05.583 に答える