タブにフラグメントを使用していますがFragment
、デバイスギャラリーから画像をキャプチャしています。
このために、フラグメント1で次のコードを使用しています。
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 2);
ギャラリーから画像を選択できるので問題なく動作し、その画像を撮影するために使用しています
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK)
try {
// We need to recyle unused bitmaps
LayoutInflater inflater =
(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Uri selectedImageURI = data.getData();
Drawable d=Drawable.createFromPath( getRealPathFromURI(selectedImageURI));
LinearLayout l=(LinearLayout)inflater.inflate(R.layout.tab_frag1_layout, null, false);
//LinearLayout l2=(LinearLayout)inflater.inflate(R.layout.tabs_layout, container, false);
Toast.makeText(this, getRealPathFromURI(selectedImageURI), Toast.LENGTH_LONG).show();
Button btn=(Button)l.findViewById(R.id.profileImage);
// btn.setBackground(d);
btn.setBackgroundDrawable(d);
l.removeView(btn);
l.addView(btn);
// imageView.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
super.onActivityResult(requestCode, resultCode, data);
}// end of the onActivityResult
しかし、残念ながらbtnで画像を見ることができません。レイアウトを変更しても元のレイアウトには影響しません。そのため、フラグメントのレイアウトを膨らませてFragmentActivity
、そのフラグメントで撮影した画像を表示できるようにする方法を教えてください。