2013-03-01 3 views
0

У меня очень неприятная проблема с управлением.Основная деятельность уничтожена при запуске PreferenceActivity

У меня есть 2 вида деятельности:

1- Главная acitivty

2- Preference активность выдвинутую основной деятельности.

On PreferenceActivity, когда я нажимаю кнопку «предыдущая», приложение заканчивается вместо возврата к основному действию! Я отлаживал код, и я заметил, что основное действие всегда уничтожается сразу после того, как вызывается метод onCreate() моей активности предпочтений!

Существует, как я называю предпочтение деятельности:

// Launch Settings activity 
Intent intent = new Intent(this, SettingsActivity.class); 
startActivity(intent); 

Также мои предпочтения Класс активности:

public class SettingsActivity extends PreferenceActivity { 

    private static ListView listView; 

    @SuppressLint("NewApi") 
    @Override 
    protected void onCreate(final Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getFragmentManager().beginTransaction() 
       .replace(android.R.id.content, new MyPreferenceFragment()) 
       .commit(); 

     // Setting the list's background to be white 
     listView = (ListView) findViewById(android.R.id.list); 
    } 

    @SuppressLint("NewApi") 
    public static class MyPreferenceFragment extends PreferenceFragment 
      implements OnPreferenceClickListener, 
      ColorPickerDialog.OnColorChangedListener { 

     /** 
     * Background color preference. 
     */ 
     private Preference prefBgColor; 

     /** 
     * Text color preference. 
     */ 
     private Preference prefTextColor; 

     @Override 
     public void onCreate(final Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.settings); 

      final Preference prefBgColor = findPreference("bg_color"); 
      prefBgColor 
        .setOnPreferenceClickListener(new OnPreferenceClickListener() { 

         public boolean onPreferenceClick(Preference arg0) { 

          // Create color picker dialog 
          new ColorPickerDialog(getActivity(), 
            MyPreferenceFragment.this, prefBgColor 
              .getKey(), prefBgColor 
              .getSharedPreferences().getInt(
                prefBgColor.getKey(), 0), 
            prefBgColor.getSharedPreferences().getInt(
              prefBgColor.getKey(), 0)).show(); 

          return true; 
         } 
        }); 

      final Preference prefTextColor = findPreference("text_color"); 
      prefTextColor 
        .setOnPreferenceClickListener(new OnPreferenceClickListener() { 

         public boolean onPreferenceClick(Preference arg0) { 

          // Create color picker dialog 
          new ColorPickerDialog(getActivity(), 
            MyPreferenceFragment.this, prefTextColor 
              .getKey(), prefTextColor 
              .getSharedPreferences().getInt(
                prefTextColor.getKey(), 0), 
            prefTextColor.getSharedPreferences() 
              .getInt(prefTextColor.getKey(), 0)) 
            .show(); 

          return true; 
         } 
        }); 

     } 

     @SuppressLint("NewApi") 
     @Override 
     public boolean onPreferenceClick(Preference pref) { 

      return true; 
     } 

     @SuppressLint("NewApi") 
     @Override 
     public void colorChanged(String key, int color) { 

      // Get choosed color and save it 
      this.findPreference(key).getEditor().putInt(key, color).commit(); 
     } 
    } 

} 

Edit: Существует декларация деятельности в моем файле манифеста:

 <activity 
      android:name="com.meher.tools.menulauncher.MainActivity" 
      android:label="@string/app_name" 
      android:configChanges="orientation|screenSize" 
      android:theme="@style/AppTheme" 
      android:launchMode="standard" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    <!-- Settings activity --> 
    <activity 
     android:name="com.meher.tools.menulauncher.SettingsActivity" 
     android:configChanges="orientation|screenSize" 
     android:theme="@style/AppTheme" 
     android:launchMode="standard" > 
    </activity> 

Буду признателен за любую помощь.

+1

Что делает ваш манифеста выглядеть? –

+0

Привет, вы можете показать manifest.xml проекта ?. Возможно, здесь есть конфигурация, которая делает это. BestRegards – vgarzom

+0

Привет, я разместил содержимое файла манифеста. Большое спасибо ! – Meher

ответ

0

Я решил эту проблему, это происходит потому, что я перекрытая OnPause() в MainActivity с отделкой(), по этой причине моя основная деятельность разрушена, когда я открываю другую деятельность ...

Смежные вопросы