在我的MainActivity类
中,我有一个带有3个选项卡的视图页面,分别为fragmentHome类
、fragmentHot类
和FragmentCategoryclass
这里是fragmentCategory类
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view;
view = inflater.inflate(R.layout.fragmentcategory, container, false);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.category_fragment, new TabCategoryFragment());
transaction.commit();
return view;
}
在
TabCategoryFragment类
中,我有一个网格类别新闻,当点击网格项时,我调用:FragmentTransaction transaction = getFragmentManager().beginTransaction();
Bundle bundle = new Bundle();
bundle.putString("category", arrDataZone.get(position).getZone_name());
bundle.putString("zoneid", arrDataZone.get(position).getZone_id());
ListCategoryFragment myFrag = new ListCategoryFragment();
myFrag.setArguments(bundle);
transaction.replace(R.id.category_fragment, myFrag,"listFramgnet");
transaction.addToBackStack("grid_category");
transaction.commit();
现在我希望能够从MainActivity
中调用ListCategoryFragment
的方法,或者从FragmentCategory
中调用ListCategoryFragment
的方法。
因为我尝试使用以下代码从MainActivity
中调用FragmentCategory
的方法:
linearPlayer.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int number=viewPager.getCurrentItem();
Fragment fragment= adapter.getItem(number);
if (number==0) {
((FragmentHome)fragment).playAudioSerVice();
} else if(number==1) {
((FragmentHot)fragment).playAudioSerVice();
} else if( number==2) {
((FragmentNew)fragment).playAudioSerVice();
} else if( number==3) {
((FragmentCategory)fragment).playAudioSerVice();
}
}
});
并且它运行了。请给我你的想法或代码来完成这个任务。