【发布时间】:2016-01-08 11:13:21
【问题描述】:
我基本上有 2 个片段和 2 个活动。 Fragment1 具有将它们传递给 Fragment2 的输入文本。 Fragment2 有 Textviews,之前输入的文本将被填充。 Activity1 制作一张图片并发送给 Activity2。 Activity2 收到该图片并让您有机会添加在 Fragment2 中创建的文本。
现在我想将图片保存到我的 SD 卡或画廊,包括文本。我知道我必须将 Textviews 转换为位图,然后将它们与原始图片“合并”,但是如何处理 Fragment2 和 Activity2 之间的通信?
这是我的想法,但我一直在发送和接收短信:
public void setText(String top, String bottom){
topText.setText(top);
bottomText.setText(bottom);
Bitmap topText = Bitmap.createBitmap(topText.getDrawingCache());
Bitmap bottomText = Bitmap.createBitmap(bottomText.getDrawingCache());
}
这发生在 Fragment2 中。
imgTakenPhoto = (ImageView) findViewById(R.id.imgTakenPhoto);
if(getIntent().hasExtra("byteArray")) {
Bitmap b = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);
imgTakenPhoto.setImageBitmap(b);
}
这发生在Activity2(接收图片) 如果 Fragment2 是一个 Activity,我会像在 Activity1 中那样发送它,但这是一个 Fragment 让我感到困惑。 在我忘记之前:Fragment1 和 2 是 Activity2 的一部分。
谁能帮帮我?
最好的问候
【问题讨论】:
-
Fragment1和Fragment2是否附加到Activity1或Activity2或其他?您可以通过FragmentManager.findFragmentByTag()或FragmentManager.findFragmentById()方法从父 Activity 中检索它,具体取决于您将它们附加到 Activity 的方式 -
@NitroNbg 是的,Fragment1 和 Fragment2 都附加到 Activity2。这正是我所需要的,但我如何使用片段管理器接收位图?
标签: android android-fragments android-intent android-studio bitmap