2014-11-21 65 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