簡體   English   中英

更改活動的ListPreference值

[英]android - changing ListPreference value from an Activity

遵循新的API,我創建了一個非常簡單的PreferenceFragment

  public class PrefsFragment extends PreferenceFragment {

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.preferences);
}

    }

我在創建的“ Activity使用它來使用戶能夠更改應用程序設置:

  public class SetPreferenceActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    getFragmentManager().beginTransaction()
            .replace(android.R.id.content, new PrefsFragment()).commit();

}

   }

現在,我需要根據用戶的選擇更改ListPreference的摘要。 沒有為Activity類定義findPreference()方法, 那么如何訪問所需的首選項?

抱歉,如果答案很明顯,我對新API並不真正熟悉,並且在棄用之前總是使用PreferenceActivity

可以直接在替換片段的語句中執行new PrefsFragment()而不是這樣做。

PreferenceFragment pFrag = new PrefsFragment();
PrefsFragment pf = (PrefsFragment)pFrag;

getFragmentManager().beginTransaction()
        .replace(android.R.id.content, pFrag).commit();

然后在您的PreferenceFragment中創建一個公共方法,您可以更改所需的內容

pf.changeMyPreference();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM