使用来自其他类的片段管理选项卡活动

时间:2012-12-29 11:02:40

标签: java android class android-fragments

我在另一个类中有一个片段,我想从我的标签活动(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;
}
}

但它不起作用。

1 个答案:

答案 0 :(得分: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;
}

这只是一个参数问题。