0

別のクラスにフラグメントがあり、タブ アクティビティ (Google が直接提供) から起動したい:

これがフラグメントを制御する FragmentActivity の一部です。ダミーのものは必要ありませんが、別のクラスで作成したものが必要です

public class SectionsPagerAdapter extends FragmentPagerAdapter {

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

    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a DummySectionFragment (defined as a static inner class
        // below) with the page number as its lone argument.

                    // Here is my fragment
        Fragment fragment = new MyFragment();
        return fragment;
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 3;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
        case 0:
            return getString(R.string.title_section1).toUpperCase();
        case 1:
            return getString(R.string.title_section2).toUpperCase();
        case 2:
            return getString(R.string.title_section3).toUpperCase();
        }
        return null;
    }
}

そして、ここに私の MyFragment があります:

public class MyFragment extends Fragment{

public Search() {
    // TODO Auto-generated constructor stub
}
public View onCreateView(String name, Context context, AttributeSet attrs) {
    // TODO Auto-generated method stub
    TextView textView = new TextView(context);
    textView.setText("search page");
    return textView;
}
}

しかし、うまくいきません。

4

1 に答える 1

0

さて、答えは簡単です:

public View onCreateView(String name, Context context, AttributeSet attrs) {
// TODO Auto-generated method stub
TextView textView = new TextView(context);
textView.setText("search page");
return textView;
}

これは実際のメソッドではありません。クラスを作成したときにEclipseがこれを提供してくれた理由すらわかりません。

実際の方法は次のとおりです。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    TextView textView = new TextView(context);
    textView.setText("search page");
    return textView;
}

これは単なるパラメータの問題です。

于 2012-12-29T11:27:00.823 に答える