Java 片段中的ListView和Tabwidget

Java 片段中的ListView和Tabwidget,java,android,Java,Android,以下是我的代码的一部分: Fragment fragment = null; switch (position) { case 0: fragment = new HomeFragment(); break; case 1: fragment = new FindPeopleFragment(); break; case 2:

以下是我的代码的一部分:

Fragment fragment = null;
        switch (position) {
        case 0:
            fragment = new HomeFragment();
            break;
        case 1:
            fragment = new FindPeopleFragment();
            break;
        case 2:
            fragment = new PhotosFragment();
            break;
        case 3:
            fragment = new CommunityFragment();
            break;
        case 4:
            fragment = new PagesFragment();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;

        default:
            break;
        }

        if (fragment != null) {
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.frame_container, fragment).commit();

            // update selected item and title, then close the drawer
            mDrawerList.setItemChecked(position, true);
            mDrawerList.setSelection(position);
            setTitle(navMenuTitles[position]);
            mDrawerLayout.closeDrawer(mDrawerList);
        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }
如何制作HomeFragment listview或tab小部件

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class HomeFragment extends Fragment {

    public HomeFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.tabs_scroll, container, false);
        return rootView;
    }
}
如果我要扩展listfragment,则行:

fragmentManager.beginTransaction()
                        .replace(R.id.frame_container, fragment).commit();
标记错误:
“FragmentTransaction类型中的方法replace(int,Fragment)不适用于参数(int,HomeFragment)”

请问,我该如何实现这一点?如果我不想让它成为listview,我该如何添加一个选项卡小部件呢

您不能这样做
Fragment Fragment=new HomeFragment()
如果您这样做,您将得到
无法将HomeFragment转换为Fragment
,因为
HomeFragment
是Fragment类,因此您无法将其分配到
Fragment
中。因此,您必须喜欢
HomeFragment fragment=newhomefragment()例如,从您的代码中

switch (position) {
        case 0:
            HomeFragment fragment = new HomeFragment();

            if (fragment != null) {
                  FragmentManager fragmentManager = getSupportFragmentManager();
                  fragmentManager.beginTransaction()
                            .replace(R.id.frame_container, fragment).commit();

                  // update selected item and title, then close the drawer
                  mDrawerList.setItemChecked(position, true);
                  mDrawerList.setSelection(position);
                  setTitle(navMenuTitles[position]);
                  mDrawerLayout.closeDrawer(mDrawerList);
            } else {
                  // error in creating fragment
                  Log.e("MainActivity", "Error in creating fragment");
            }
            break;

            // do like this for remaining cases

        default:
            break;
        }