Sti*_*ode 17 android android-intent android-fragments
我试图将位图从一个片段传递到另一个片段 - 我正在使用这篇文章作为指南:
我遇到的问题是使用getIntent()在接收活动片段中.它无法识别该方法.那里有一些帖子说它不可能在片段中使用getIntent()但是必须有办法吗?代码是否应该进入主机活动?
这是我正在尝试的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String filename = getIntent().getStringExtra("image");
try {
FileInputStream is = this.openFileInput(filename);
imageBitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 39
您可以使用getIntent(),Fragments但需要先拨打电话getActivity().有点像getActivity().getIntent().getExtras().getString("image")可以工作.
您还可以Fragment使用setArguments()和来实现此目的getArguments(),如下所示:
MyFragment fragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putString("image", fileName);
fragment.setArguments(bundle);//Here pass your data
Run Code Online (Sandbox Code Playgroud)
现在在您的片段类中,例如在内部onCreate()或onCreateView()执行以下操作:
String fileName = this.getArguments().getString("image");
Run Code Online (Sandbox Code Playgroud)