使用Bundle将文件从Activity传递到片段

时间:2014-10-26 20:56:33

标签: android android-intent android-activity android-fragments

好的我正在尝试将文件管理器(Activity)中的任何文件传递给片段。这是我的代码:

               Bundle bundle = new Bundle ();
                    bundle.putString ("File", chosenFile);
                    Intent intent = new Intent (getApplicationContext (), UploadFragment.class);
                    intent.putExtras (bundle);
                    startActivity (new Intent (FileExplore.this, UploadFragment.class));

Logcat中的应用程序崩溃是无法找到显式活动类的状态。然后,它给出了代码错误发生的行,即startActivity(新的Intent(.....)。错误是因为我没有正确地将Intent从Activity发送到片段吗?

在片段中,我在button.setOnclickListener()下面有以下代码。

Intent intent = new Intent (getActivity (), FileExplore.class);
            startActivity (intent);

1 个答案:

答案 0 :(得分:0)

首先,您无法使用Intent创建片段或向其发送数据。

您可以通过调用以下内容将片段放入您的活动中: getFragmentManager().beginTransaciton().add(R.id.id_of_container, new UploadFragment(), false).commit();

如果要将数据从活动传递到片段,可以使用setArgument()方法创建片段,例如:

Bundle bundle = new Bundle ();
bundle.putString ("File", chosenFile);

UploadFragment fragment = new UploadFragment();
fragment.setArguments(bundle);

getFragmentManager().beginTransaction().add(R.id.fragment_container, fragment).commit();