![](/img/trans.png)
[英]how to get the variable attribute of different activities/fragments with same variable name?
[英]android how to add same fragments with different activities
活动A
SectionPagerAdapter pageradapter = new SectionPagerAdapter(getSupportFragmentManager());
pageradapter.addFragment(ContactsFragment.newInstance(), "PHONE CONTACTS");
pageradapter.addFragment(CustomersFragment.newInstance(), "CUSTOMERS");
viewPager.setAdapter(pageradapter);
活动 B
SectionPagerAdapter pageradapter = new SectionPagerAdapter(getSupportFragmentManager());
pageradapter.addFragment(ContactsFragment.newInstance(), "PHONE CONTACTS");
pageradapter.addFragment(CustomersFragment.newInstance(), "CUSTOMERS");
viewPager.setAdapter(pageradapter);
我在我的 android 应用程序中使用片段和 viewpager。在活动 A 中,我添加了一个带有 viewpager 的片段,它工作正常。现在问题是我也想在活动 B 中使用相同的片段。
注意:当我在 viewpager 中添加相同的片段时,它的抛出错误就像
java.lang.ClassCastException: app.com.Contacts.ContactsActivity cannot be cast to app.com.Contacts.Activity.CustomersActivity
在Fragment
的代码中,您将活动转换为ContactsActivity
。 这就是为什么你不能重复使用它。 因此,您必须从Fragment
的代码中删除此演员表。
如果您想调用附加了Fragment
的Activity
function。 你可以用接口来做到这一点。 如果您的活动实现相同的接口。 将Activity
转换为Fragment
代码中的接口就足够了。
class FragmentA {
private void myMehod() {
((MyInterface)getActivity()).callMethodOnActivity()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.