2014-01-08 26 views
0

我是新來的片段概念。在我的應用程序中,我必須保存用戶首選項。我已經通過this doc。 準備好我的偏好xml文件和PreferenceFragment文件。一切都很好,直到現在。 我的問題是,我必須添加以下代碼在我onCreate()方法我MainActivityPreferenceFragment display

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

是顯示主屏幕上。但我想按鈕點擊方法啓動此

onSettingsClicked(){ 
     // launch preferces screen 
    } 

而且我想顯示它作爲一個單獨的屏幕。我怎樣才能做到這一點?

回答

1

您需要實施fragmentTransaction的概念。 你需要做以下事情 -

  1. 創建一個新的Fragment.xml來顯示按鈕。
  2. 從onCreate()調用新的片段;
  3. 獲取片段視圖上的按鈕。
  4. 按鈕onclick監聽器用SettingFragment()代替片段。
    完成!

退房this FragmentTransaction Tutorial,它會引導你 -

不喜歡以下變化 -

// Code not accurate, may be some syntax error 
@Override 
public void onCreate() 
{ 
// super and other stuff 

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

Button btn = (Button)findViewById(R.id.button01); 
btn.setOnClickListener(new OnClickListener(){ 

@override 
public void onClick(View v) 
{ 
FragmentTransaction ft = getFragmentManager().beginTransaction(); 

      ft.replace(android.R.id.content, new new SettingsFragment()) 
      .commit(); 
} 

}); 


} 
+0

讓我嘗試你的代碼... – saa

+0

看起來不錯。該片段正在添加到當前的活動中。但是我想將此首選項顯示爲SubActivity – saa

+0

片段始終添加到當前活動中。片段是爲此目的而設計的。您可以通過正確定義主佈局來完成要查找的內容。在主佈局中添加''標記。顯示子視圖。你有沒有得到我的觀點。 – Yup