2017-04-20 95 views
0

我已將SettingsActivity添加到我的項目。默認情況下,Android Studio創建了3個包含3個標題的類別。當我點擊類別時,出現新的設置屏幕。 我不想那樣。我的應用程序的settigns選項非常有限,所以我只想獲取平面設置列表,而不使用任何標題和類別。Android AppCompatPreferenceActivity - 沒有子類別/標題的平面設置列表

我發現,不工作或不推薦使用api。你能指出我的權利,有效的方向如何實施平坦的設置屏幕,而不使用任何棄用的API?

回答

2

SettingActivityonCreate()方法添加一般片段,做任何你在GeneralPreferenceFragment

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setupActionBar(); 
     this.getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit(); 
    } 

喜歡而且在GeneralPreferenceFragment這樣覆蓋onOptionItemSelected的變化:

public static class GeneralPreferenceFragment extends PreferenceFragment { 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.pref_general); 
      setHasOptionsMenu(true); 

      // Bind the summaries of EditText/List/Dialog/Ringtone preferences 
      // to their values. When their values change, their summaries are 
      // updated to reflect the new value, per the Android Design 
      // guidelines. 
      bindPreferenceSummaryToValue(findPreference("your_key")); 
     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      int id = item.getItemId(); 
      if (id == android.R.id.home) { 
       getActivity().onBackPressed(); 
      } 
      return super.onOptionsItemSelected(item); 
      } 
} 
+0

我已經試過了。它導致SettingsActivity無法退出。當我回擊時,SettingsActivity再次出現,不可能返回到父活動 – user1209216

+0

檢查我編輯的答案 –