フラグメントの考え方全体について少し混乱しています。アプリのようなでViewPager
を作成する方法についてのチュートリアルに従いました。Fragments
Google Play
私はこのようなTabFragmentクラスを持っています:
public class SwipeyTabFragment extends SherlockFragment {
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
Log.e("FRAGMENT: ", "Hello World!");
}
public static Fragment newInstance(String title) {
SwipeyTabFragment f = new SwipeyTabFragment();
Bundle args = new Bundle();
args.putString("title", title);
f.setArguments(args);
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment_swipeytab, null);
final String title = getArguments().getString("title");
((TextView) root.findViewById(R.id.text)).setText(title);
return root;
}
}
onCreateView
このメソッドは、レイアウトや、などのコントロールを初期化するButton
ことを知っていListView
ます。
私にFragmentAdapter
private class SwipeyTabsPagerAdapter extends FragmentPagerAdapter implements SwipeyTabsAdapter {
private final Context mContext;
public SwipeyTabsPagerAdapter(Context context, FragmentManager fm) {
super(fm);
this.mContext = context;
}
@Override
public Fragment getItem(int position) {
return SwipeyTabFragment.newInstance(TITLES[position]);
}
@Override
public int getCount() {
return TITLES.length;
}
public TextView getTab(final int position, SwipeyTabs root) {
TextView view = (TextView) LayoutInflater.from(mContext).inflate(R.layout.swipey_tab_indicator, root, false);
view.setText(TITLES[position]);
view.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mViewPager.setCurrentItem(position);
}
});
return view;
}
}
これにより、String-Arrayに基づいて新しいタブが作成され、のテキストとヘッダーが設定されますFragment
。
だから、これは私が混乱するところです。たとえば、レイアウトが異なり、ユーザーがを押したときの操作方法が異なるいくつかのフラグメントが必要だとしButton
ますPicture
。どうすればいいですか?
ありがとう。