문제

안녕하세요, 이미 내비게이션 서랍을 이미 사용하는 Android 앱이 있습니다. My 주 간격은 파편 활동을 확장하고 및 My 설정 offragment가 선호도 조각을 확장

설정 조각 :

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);
    }
}
.

및 my 주 사용 :

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();
.

어떻게 설정하거나 설정 볼거리 ()로 이동할 수 있습니까?

도움이 되었습니까?

해결책

이것은 나를 위해 일했습니다. 이 코드는 API LEVAL 11 이상으로 작동합니다.

활동이 코드를 사용하여 조각을 추가합니다.

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() 
  {

  }
}
.

다른 팁

은 현재 환경 설정 흔들을 다음과 같이 선호도를줍니다

public class SettingsActivity extends Fragment {

   @Override
    public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    getActivity().getFragmentManager().beginTransaction()
            .replace(android.R.id.content, new MyPreferenceFragment())
            .commit();
    }
    private 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);
       }     
     }
}
.

어때 :

Fragment preferenceFragment = new SettingsFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, preferenceFragment);
ft.commit();
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top