覆盖 FragmentGridPagerAdapter 的 getFragmentMethod,提供自定义片段不起作用
Override FragmentGridPagerAdapter's getFragmentMethod, supply custom fragment not work
我正在研究 Android Wear 的 GridViewPager。正在尝试为我的卡片提供自定义 UI。
在扩展 FragmentGridPagerAdapter 时,我覆盖了 getFragment 方法。
如果使用 CardFragment(来自示例代码),没问题。但是,如果我使用 BlankCardFragment(其中自定义 UI),它会抱怨编译时错误:Type mismatch: cannot convert from BlankCardFragment to Fragment
CardFragment 和 BlankCardFragment 都扩展了 Fragment,为什么后者失败了。
@Override
public Fragment getFragment(int row, int col) {
Page page = PAGES[row][col];
String title = page.titleRes != 0 ? mContext.getString(page.titleRes) : null;
String text = page.textRes != 0 ? mContext.getString(page.textRes) : null;
CardFragment fragment = CardFragment.create(title, text, page.iconRes);
//BlankCardFragment fragment;
//fragment = new BlankCardFragment();
return fragment;
}
这里是 BlankCardFragment.java
public class BlankCardFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = (View) inflater.inflate(R.layout.fragment_card_blank,
container, false);
return v;
}
}
您是否在 BlankCardFragment
中扩展了 Fragment
(support version vs regular version) 的正确类型?
我正在研究 Android Wear 的 GridViewPager。正在尝试为我的卡片提供自定义 UI。
在扩展 FragmentGridPagerAdapter 时,我覆盖了 getFragment 方法。
如果使用 CardFragment(来自示例代码),没问题。但是,如果我使用 BlankCardFragment(其中自定义 UI),它会抱怨编译时错误:Type mismatch: cannot convert from BlankCardFragment to Fragment CardFragment 和 BlankCardFragment 都扩展了 Fragment,为什么后者失败了。
@Override
public Fragment getFragment(int row, int col) {
Page page = PAGES[row][col];
String title = page.titleRes != 0 ? mContext.getString(page.titleRes) : null;
String text = page.textRes != 0 ? mContext.getString(page.textRes) : null;
CardFragment fragment = CardFragment.create(title, text, page.iconRes);
//BlankCardFragment fragment;
//fragment = new BlankCardFragment();
return fragment;
}
这里是 BlankCardFragment.java
public class BlankCardFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = (View) inflater.inflate(R.layout.fragment_card_blank,
container, false);
return v;
}
}
您是否在 BlankCardFragment
中扩展了 Fragment
(support version vs regular version) 的正确类型?