0

私は自分の電話のギャラリーを開く意図を使用しましたが、私は自分のアクティビティの壁紙として選択した画像を設定する必要があります。電話の壁紙として。 誰かが私を助けることができますか? ここまでは私が使ったコードです。イメージを選択することはできますが、それ以降は何も起こりません。インテントを使用して外部画像を取得し、壁紙として設定する方法

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
    Button chooseImg=(Button) findViewById(R.id.btnChooseImg); 
    chooseImg.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      Intent img=new Intent(); 
      img.setType("image/*"); 
      img.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser 
        (img, "Select Picture"),SELECT_PICTURE); 

      Object tag=v.getTag(); 
      Integer rId=(Integer) tag; 
      img.putExtra("bgImage", rId); 



      try{ 
      imgLayout=(ImageView) findViewById(R.id.bgImg1); 


      int imgId=img.getExtras().getInt("bgImage"); 
      imgLayout.setBackgroundResource(imgId); 

      } 
      catch(Exception e){ 
       Toast.makeText(getApplicationContext(), "nope", Toast.LENGTH_SHORT).show(); 
      } 

     } 
    }); 

} 

答えて

2

は、ボタンの背景がこの

BitmapDrawable bdrawable = new BitmapDrawable(context.getResources(),bitmap); 

ようBitmapDrawableを作成し設定するために、この

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == SELECT_PICTURE&& resultCode == RESULT_OK && data != null && data.getData() != null) { 

     Uri uri = data.getData(); 

     try { 
      Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri); 
      // Log.d(TAG, String.valueOf(bitmap)); 

      ImageView imageView = (ImageView) findViewById(R.id.yourimageview); 
      imageView.setImageBitmap(bitmap); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

ようonActivityResultの実装とレイアウトのために、あなたはThanks.itが働い

+0

setBackgroundDrawableメソッドを使用することができます! – Vishwa

+0

レイアウトやボタンの背景としてこれを設定する必要がある場合、どうすればよいですか? – Vishwa

+0

@VishwaMadushan更新された回答 –

関連する問題