2

我正在尝试使用 ActionBar/Viewpager 为片段提供选项卡支持。但是,与每个相关的片段,我希望它是一个 ListFragment。这是我从有效导航示例中获得的相关代码示例

public class MainActivity extends FragmentActivity implements ActionBar.TabListener {

[..]


public static class AppSectionsPagerAdapter extends FragmentPagerAdapter {

        public AppSectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int i) {
            switch (i) {

                case 0:
                    Fragment fragment0 = new DummySectionFragment();
                    Bundle args0 = new Bundle();
                    args0.putString(DummySectionFragment.TAB_NAME, "Public");
                    fragment0.setArguments(args0);
                    ((ListFragment)fragment0).setEmptyText("EMPTY");
                    return fragment0;

[..]

  public static class DummySectionFragment extends ListFragment {

        public static final String TAB_NAME = "tab_name";

[..] 问题是, FragmentPagerAdapter.getItem 期待一个片段。当我试图访问 ListFragment 的方法时,它崩溃了。请指教。谢谢

4

2 回答 2

0

改变

((ListFragment)fragment0).setEmptyText("EMPTY");

 ((DummySectionFragment)fragment0).setEmptyText("EMPTY");

错误代码表示你尝试访问子类方法使用超类实例,可能是子类有方法,但超类没有方法,这是我自己的想法

于 2013-08-21T07:56:39.553 回答
0

昨天我和一位同事讨论了类似的事情,他说不要使用 viewpagers 作为列表视图的项目,因为它完全是混乱的,即使你不回收视图列表也会在滚动和类似的东西上冻结。他如何解决这个问题是在滚动视图中创建单独的浏览器,也许你可以考虑一下。

于 2014-08-07T13:44:43.720 回答