[英]Passing a file from Activity to fragment using Bundle
好的,所以我正在尝试将文件管理器(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(new Intent(.....)。是因为我没有将Intent从Activity正确地发送到Fragment而导致的错误?
在“片段”中,button.setOnclickListener()下有以下代码。
Intent intent = new Intent (getActivity (), FileExplore.class);
startActivity (intent);
首先,您无法使用Intent创建片段或向其发送数据。
您可以通过调用以下getFragmentManager().beginTransaciton().add(R.id.id_of_container, new UploadFragment(), false).commit();
在活动中放入一个片段: getFragmentManager().beginTransaciton().add(R.id.id_of_container, new UploadFragment(), false).commit();
如果要将数据从活动传递到片段,则可以使用setArgument()
方法在片段创建时进行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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.