2014-11-21 3 views
-1

Preference out 버튼을 사용하여 PreferenceActivity을 만들고 이벤트를 임명했습니다. 사용자 이름과 암호를 지울 필요가 있습니다 (환경 설정을 지우고) "권한 부여"부분으로 이동하십시오. 내가 getFragmentManager(); (android.support.v4.app.FragmentManager) PreferenceActivity에서getFragmentManager를 PreferenceActivity에서 가져 오는 방법

public class PrefActivity extends PreferenceActivity { 
     Preference out; 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.pref); 
      out = findPreference("logout"); 
      out.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
       @Override 
       public boolean onPreferenceClick(Preference preference) { 
        FragmentManager fragmentManager = getFragmentManager(); 
        Fragment auth = new AuthDialog(); 
        Bundle arg = new Bundle(); 
        arg.putString("login", ""); 
        arg.putString("password", ""); 
        auth.setArguments(arg); 
        fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); 
        fragmentManager.beginTransaction().replace(R.id.content_frame, auth).commit(); 
        SharedPreferences sPref = PreferenceManager.getDefaultSharedPreferences(getApplication()); 
        sPref.edit().clear().commit(); 
        return false; 
       } 
      }); 
     } 
    } 

답변

0

PreferenceActivityandroid.app.Activity하지 android.support.v4.app.Activity에서 확장 얻을 수

android.support.v4.app.Fragment; 
android.support.v4.app.FragmentManager; 

에서 내 조각 확장합니다. 이상하게 들릴지 모르지만, PreferenceActivity가있는 v4 Fragments를 사용할 방법이 없습니다. 최선의 방법은 사용하는 것입니다. this library