Android-将参数从父活动连续发送到片段
我用acion bar开发了一个android应用程序,它有3个选项卡和3个不同的片段,我尝试将一个参数从父活动传递到片段,我使用了qusetion中给出的解决方案,一切都是正确的,唯一的问题是,现在活动在应用程序开始时只向片段发送一次此参数,每次用户选择选项卡时,我都需要获取此参数,我想我应该在Android-将参数从父活动连续发送到片段,android,android-fragments,android-actionbar,Android,Android Fragments,Android Actionbar,我用acion bar开发了一个android应用程序,它有3个选项卡和3个不同的片段,我尝试将一个参数从父活动传递到片段,我使用了qusetion中给出的解决方案,一切都是正确的,唯一的问题是,现在活动在应用程序开始时只向片段发送一次此参数,每次用户选择选项卡时,我都需要获取此参数,我想我应该在方法上执行此操作,但不知道如何执行此操作,有什么建议吗?试试这个 ActionBar.TabListener tabListener = new ActionBar.TabListener()
方法上执行此操作,但不知道如何执行此操作,有什么建议吗?试试这个
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// Pass the position on tab click to ViewPager
mPager.setCurrentItem(tab.getPosition());
Log.d("tab selected",""+tab.getPosition());
if(tab.getPosition==0)
{
Fragment fragA=new FrgmentA();
fragA.getData("data");
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
Log.d("tab Unselected",""+tab.getPosition());
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
Log.d("tab Reselected",""+tab.getPosition());
}
};
// Create first Tab
tab = mActionBar.newTab().setText("Profile").setTabListener(tabListener);
mActionBar.addTab(tab);
// Create second Tab
tab = mActionBar.newTab().setText("Picture").setTabListener(tabListener);
mActionBar.addTab(tab);
// Create third Tab
tab = mActionBar.newTab().setText("Help").setTabListener(tabListener);
mActionBar.addTab(tab);
FragmentA extends Fragment{
public FragmentA(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view =inflater.inflate(R.layout.fragment_image, container, false);
return view;
}
public void getData(String s)
{ // your implementation
}
}
嘿,请在创建片段实例时传递值,请查看下面的代码
一旦片段通过viewpager加载,我就传递了一个列表
private void setupViewPager(ViewPager ViewPager,List listAc){
Homepage.ViewPagerAdapter适配器=新主页.ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(新的AllFragment(“,listAc),“All”);
adapter.addFrag(新的AllFragment(“1”,listAc),“Credit”);
adapter.addFrag(新的AllFragment(“2”,listAc),“借方”);
viewPager.setAdapter(适配器);
}
然后在片段中编写一个构造函数,如下所示
public AFragment(String text, List<AccountDetail> manufactist) {
mText = text;
manufactureListAcoonut = manufactist;
}
public片段(字符串文本,列表制造商){
多行文字=文本;
ManufactureListaCoUnit=制造商;
}
这段代码生成制表符并在它们之间执行swip,那么如何将参数从这里传递到片段?
public AFragment(String text, List<AccountDetail> manufactist) {
mText = text;
manufactureListAcoonut = manufactist;
}