0

私はフラグメントをあまり使用していませんが、今はいくつかの問題を抱えています。MainActivity で右にスワイプしたときに ListFragment を表示する必要があるため、次のようなものが必要です。

ここに画像の説明を入力 ここに画像の説明を入力

私がやろうとしたこと:

  public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    PageAdapter mPageAdapter = new PageAdapter(getSupportFragmentManager());
    ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
    mViewPager.setAdapter(mPageAdapter);

}

    }

ページアダプター:

  public class PageAdapter extends FragmentPagerAdapter {

public PageAdapter(FragmentManager fm) {
    super(fm);

}

@Override
public Fragment getItem(int arg0) {
    PageListFrag f = new PageListFrag();
    return f;

}

@Override
public int getCount() {
        return 0;
}
@Override
public CharSequence getPageTitle(int position) {
    return "Title";
}

}

リストフラグメント:

  public class PageListFrag extends ListFragment {
ArrayAdapter<String> mAdapter;

public PageListFrag() {

}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ArrayList<String> al = new ArrayList<String>();
    mAdapter = new ArrayAdapter<String>(getActivity(),
            R.layout.list_frag_item, al);
    for (int i = 0; i < 20; i++) {
        al.add("Item " + " " + Integer.toString(i));
        mAdapter.notifyDataSetChanged();
    }

    setListAdapter(mAdapter);
}

  }

ListFragment を表示する可能性がなく、空白の画面しか表示されません。私は何を間違っていますか?

4

2 に答える 2

1

getCountを変更します。

@Override
public int getCount() {
    return 2;
}

ポケットベルに表示するものがあると言わないと、何も表示されません。

于 2013-02-25T13:55:30.987 に答える
1

スライド メニューを作成したいだけの場合、最善の解決策は、このオープン ソース ライブラリをスライド メニューに使用することですhttps://github.com/jfeinstein10/SlidingMenu

独自のスライディング メニューを作成すると、さまざまな互換性の問題が発生します。

于 2013-02-25T14:14:22.487 に答える