やりたいこと
Androidのアプリ開発をしています。
その中でViewPager内のFragmentにあるボタンのクリックイベントを取得したいです。
内容
現在、ViewPagerを使用しており、ViewPagerにはFragmentPagerAdapterを継承したクラスをセットしています。以下になります。
Java
1public class MenuViewPagerAdapter extends FragmentPagerAdapter { 2 3 private static final int PAGE_NUM = 3; 4 5 public MenuViewPagerAdapter(FragmentManager fm) { 6 super(fm); 7 } 8 9 @Override 10 public Fragment getItem(int position) { 11 12 Fragment fragment; 13 14 switch (position) { 15 case 0: 16 fragment = new MenuFragment(); 17 break; 18 default: 19 fragment = new MenuFragment(); 20 } 21 22 return fragment; 23 } 24 25 @Override 26 public int getCount() { 27 return PAGE_NUM; 28 } 29 30}
上記クラスでセットしているMenuFragment内にはGridLayout上にボタンをセットしていますがこのボタンのクリックイベントを取得したいです。
MenuFragmentクラスは以下になります。
Java
1public class MenuFragment extends Fragment implements View.OnClickListener { 2 3 private View view; 4 5 @Override 6 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 7 view = inflater.inflate(R.layout.fragment_menu, container,false); 8 GridLayout grid = (GridLayout)view.findViewById(R.id.gridLayout); 9 10 Button btn = new Button(view.getContext()); 11 btn.setOnClickListener(this); 12 13 grid.addView(btn); 14 15 return view; 16 } 17 18 @Override 19 public void onClick(View v) { 20 Toast.makeText(v.getContext(), "test!", Toast.LENGTH_LONG); 21 } 22}
いろいろ調べてみましたがうまく実現できませんでした。
ViewPager上のボタンクリックイベントの取得方法を教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー