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 に答える