以前にも質問させていただきましたが、少し理解が深まりました。ユーザーにレイアウト上のカスタム背景画像を選択させる方法を理解しました。私はこれを使用します:
私のonCreateメソッドで:
Button player = (Button) setBg.findViewById(R.id.plBg);
player.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setDataAndType(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*");
startActivityForResult(i, RESULT_LOAD_PLAYER);
setBg.dismiss();
}
});
そして私の onActivityResult メソッドで:
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_PLAYER && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
playerBg = (ImageView) findViewById(R.id.playerBg);
playerBg.setImageBitmap(BitmapFactory.decodeFile(picturePath));
playerBg.setScaleType(ScaleType.CENTER_CROP);
}
}
ただし、アプリから「戻る」と、背景はデフォルトに戻ります。その背景の選択を定着させるにはどうすればよいですか?
私はすでにこれを見てきました:ビットマップを場所に保存する
しかし、私はそれを理解するのに苦労しています。
また、共有設定に保存しようとしましたが、それが目的ではないことがわかりました. 私はまだ初心者です。前もって感謝します。