2014-11-21 64 views
-1

我使用按鈕Preference out創建了PreferenceActivity並指定了她的活動。 我需要清除用戶名和密碼(我只是清除首選項)並轉到片段「授權」。我的片段從延伸如何從PreferenceActivity獲取getFragmentManager

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

我我不能得到getFragmentManager();android.support.v4.app.FragmentManager)從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延伸。聽起來很奇怪,沒有辦法使用V4 Fragments和PreferenceActivity。你最好的選擇是使用this library