Fragment 에서 viewpager 를 만들고 있습니다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.test_viewpager, container, false);
viewPager = (ViewPager) v.findViewById(R.id.pager);
tabHost = (TabHost) v.findViewById(R.id.tabHost);
hScrollVIew = (HorizontalScrollView) v.findViewById(R.id.h_scroll_view);
initViewPager();
initTabHost();
return v;
}
private void initViewPager(){
List<Fragment> listFragments = new ArrayList<Fragment>();
listFragments.add(new Fragment11()); ////
listFragments.add(new Fragment11());
listFragments.add(new Fragment11());
listFragments.add(new Fragment11());
MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter (getChildFragmentManager(), listFragments);
viewPager.setAdapter(myFragmentPagerAdapter );
viewPager.addOnPageChangeListener(this);
}
......
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
List<Fragment> listFragments;
public MyFragmentPagerAdapter (FragmentManager fm, List<Fragment> listFragments) {
super(fm);
this.listFragments = listFragments;
}
@Override
public Fragment getItem(int position) {
return listFragments.get(position);
}
@Override
public int getCount() {
return listFragments.size();
}
}
.....
public class Fragment11 extends Fragment {
private static Fragment11 fragment_;
private String title;
private int page;
public static Fragment11 sharedInstance(int page) {
if (fragment_ == null) {
fragment_ = new Fragment11();
}
// Bundle args = new Bundle();
// args.putInt("someInt", page);
// args.putString("someTitle", title);
// fragment_.setArguments(args);
return fragment_;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// page = getArguments().getInt("someInt", 0);
// title = getArguments().getString("someTitle");
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment1_layout, container, false);
// 추후 webview로 변경
TextView tv = (TextView) v.findViewById(R.id.textView1);
return v;
}
}
여기서 Fragment10 에 //// 친 부분을 변경하고 싶습니다.
listFragments.add(new Fragment11()); => listFragments.add(new Fragment11.sharedInstance(0));
이런식으로요..근데 이렇게 쓰면 에러가 나서요 ㅠㅠ
어떻게 구현해야하는지 조언좀 부탁드립니다.
그리고...Fragment10에서 viewPager로 4개 화면을 만들건데 모두 동일한 화면으로 webview 에서 보여주는 url 만 변경되는건데...
저렇게 같은 Fragment11 을 중복 add 하는 방법말곤 없을까요??