嗨,我有一个Android应用程序已经使用了抽屉导航。
我的 MainActivity扩展了 fragment Activity ,而我的 SettingFragment扩展了PreferenceFragment

设置 fragment :

public class SettingsFragment extends PreferenceFragment {
    public SettingsFragment() {}

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

        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.prefs);
    }
}

和我的 MainActivity :
PreferenceFragment preferenceFragment = new SettingsFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, preferenceFragment); // I'm getting an error here should be Fragment not PreferenceFragment
ft.commit();

如何提交或转到SettingsFragment()?

最佳答案

这为我工作。
请记住,此代码将与api leval 11及更高版本一起使用。

在 Activity 中,使用此代码添加 fragment 。

android.app.Fragment infoFragment = new InfoFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(android.R.id.content, infoFragment);
ft.commit();

您的PreferenceFragment类将如下所示。
public class InfoFragment extends PreferenceFragment
{
 /**
  * The fragment argument representing the section number for this
  * fragment.
 */
 private static final String ARG_SECTION_NUMBER = "section_number";

 /**
  * Returns a new instance of this fragment for the given section
  * number.
  */

  public static android.app.Fragment newInstance(int sectionNumber)
  {
    InfoFragment fragment = new InfoFragment();
    Bundle args = new Bundle();
    args.putInt(ARG_SECTION_NUMBER, sectionNumber);
    fragment.setArguments(args);
    return fragment;
  }

  public InfoFragment()
  {

  }
}

10-08 17:07