我有以下简单的代码在内容框架中从一个片段切换到另一个片段。有没有简单的方法在下面的代码中传递变量?
FragmentManager fm = getActivity().getFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new TransactionDetailsFragment()).commit();
或者您可以使用newInstance方法——在片段类中创建一个方法,如下所示:
public static TransactionDetailsFragment newInstance(String param) {
TransactionDetailsFragment frag = new TransactionDetailsFragment();
Bundle bund = new Bundle();
bund.putString("paramkey", param); // you use key to later grab the value
frag.setArguments(bund);
return frag;
}
因此,要创建您的片段,您需要:
TransactionDetailsFragment.newInstance("PASSING VALUE");
(这是用来代替您的< code > new TransactionDetailsFragment())
然后例如在同一个片段的onCreate/onCreateView中,您会得到如下值:
String value = getArguments().getString("paramkey");
为< code > TransactionDetailsFragment 创建一个参数化的构造函数怎么样?
fm.beginTransaction().replace(R.id.content_frame, new TransactionDetailsFragment(YOUR_PARAMS)).commit();
当你创建新的 TransactionDetailsFragment(YOUR_PARAMS)
作为 FragmentTransaction
的参数时,我认为使用构造函数是一个不错的选择。
您可以使用捆绑包:
FragmentManager fm = getActivity().getFragmentManager();
Bundle arguments = new Bundle();
arguments.putInt("VALUE1", 0);
arguments.putInt("VALUE2", 100);
MyFragment myFragment = new Fragment();
fragment.setArguments(arguments);
fm.beginTransaction().replace(R.id.content_frame, myFragment).commit();
然后,您检索如下:
public class MyFragment extends Fragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
if (bundle != null) {
int value1 = bundle.getInt("VALUE1", -1);
int value2 = bundle.getInt("VALUE2", -1);
}
}
}
我正在使用 Kotlin 进行开发。当我到达官方Android教程的片段部分时,我遇到了支持FragmentManager。它可以在Kotlin中用作变量,而在java中,我们可以将其等效方法称为。 我想知道变量在哪里,因为我看不到任何类似于该名称的变量声明,但是单击该变量将我带到fragmentActivity中的以下方法。java类。 在Kotlin中,这个方法如何可以作为变量访问,而在jav
一、简介 碎片是什么?把一个完整的页面理解成由许多块组成,而每一个“块”我们就可认为就是一个”碎片“! 这样,我们在页面放置一些碎片,在以后的维护维护中,只需要对碎片进行维护! 碎片功能支持完全手动更新,并且可以搜索内容,可恢复数据至任何历史版本,常用于专题制作和首页频繁更新的内容。 您可以在模板中直接插入 {pc:block pos="index_block_1"}{/pc} 格式的碎片标签,然
问题内容: 如何将变量发送到服务器?我是否将它们添加到请求的URL的末尾,例如? 因此或多或少: 问题答案: 如果您想使用GET将变量传递给服务器,那就可以了。记住要正确地逃避(urlencode)! 如果您不希望变量可见,也可以使用POST。 一个完整的示例将是: 为了测试这一点(使用PHP),您可以查看检索到的内容。
详细信息 1。我有导航抽屉在我的项目。它是通过标准的Android studio项目(带有导航抽屉)创建的。 2。我使用片断和片断管理器来处理屏幕的内容。它发生在onNavigationDrawerItemSelected()中。 3。以下是MainActivity中onCreateOptionsMenu()的实现: 4.当我使用FragmentManager.replace()时--一切都很好。
我可以在D片段参数中设置所有六个arg,但在这种情况下,我应该在每个方向上传递所有六个变量。那么有没有其他的方法直接传递我想要的args在特定的方向上,然后在D片段中检索它
有没有办法,在不调用存储片段中的onCreateView()的情况下清除support FragmentManager的backbackback? 我理解片段lyfe循环,并在弹出时调用onDestroyView()和onCreateView()。http://developer.android.com/guide/components/fragments.html#Creating 我还知道如何