我已将字符串从片段传递到片段(从列表视图到滑动视图)。但是我的问题是,当我单击列表视图中的一个项目时,它替换了片段,并从选项卡的第一个而不是同一项目转到了viewpager。
此处传递了String,但viewpager选项卡未更改。
我在其中单击项目的Listview片段:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
////
String text=listView.getItemAtPosition(i).toString();
Bundle bundle = new Bundle();
bundle.putString(ID_EXTRA, text);
// set Fragmentclass Arguments
SwipeNav fragobj = new SwipeNav();
fragobj.setArguments(bundle);
FragmentManager fm=getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(((ViewGroup)(getView().getParent())).getId(), fragobj);
ft.addToBackStack(null);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
});
在viewpager滑动视图页面上:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (getArguments() != null && !getArguments().isEmpty()) {
Bundle bundle = this.getArguments();
String myInt = bundle.getString(ListNavAdapter.ID_EXTRA);
myPagerAdapter = new
MyPagerAdapter(getChildFragmentManager(),getContext());
viewPager = (ViewPager) view.findViewById(R.id.pager);
} else {
myPagerAdapter = new
MyPagerAdapter(getChildFragmentManager(),getContext());
viewPager = (ViewPager) view.findViewById(R.id.pager);
}
viewPager.setAdapter(myPagerAdapter);
我无法设置代码,因此当我单击列表视图中的项目时,我将能够在Viewpager中获得选项卡的正确位置。我正在将“单个片段”用于Viewpger滑动视图的多个选项卡。