안드로이드 : 항해 서랍의 조각이있는 환경 설정 조각
-
21-12-2019 - |
문제
안녕하세요, 이미 내비게이션 서랍을 이미 사용하는 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();
. 제휴하지 않습니다 StackOverflow