2016-03-05 86 views
0

我有MainActivity與其中的mapFragment。我有設置按鈕與settings.The下面的代碼啓動它MainActivity通過另一個活動的菜單中的後退按鈕重新啓動自己

@Override 
public void onClick(View v) { 
    if(v == findViewById(R.id.btnSettings)){ 
     Intent AlarmPreferencesActivityIntent; 
     AlarmPreferencesActivityIntent = new Intent(App.getContext(), AlarmPreferencesActivity.class); 
     AlarmPreferencesActivityIntent.putExtra("alarm", alarm); 
     App.getContext().startActivity(AlarmPreferencesActivityIntent); 
    } 
} 

活動

<activity 
     android:name=".Preferences.AlarmPreferencesActivity" 
     android:label="@string/title_activity_alarm_preference" 
     android:parentActivityName=".MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.geoalarm.MainActivity" /> 
    </activity> 

的清單聲明,設置活動已產生自動回到菜單按鈕啓動新的活動(你可以看到在屏幕截圖上)。 enter image description here

所以問題是當我按下它的按鈕它不會返回到MainActivity,但再次創建它。當按下設置活動中的後退按鈕時,MainActivity方法onDestroy會觸發。我可以通過點擊在使用設置開始活動之前創建的返回按鈕來執行某些操作來獲取MainActivity?

+0

你如何開始設置活動? –

+0

我有一個簡單的按鈕,通過點擊它來啓動設置活動。 –

+0

我明白,我的意思是你實際開始新活動的代碼。 –

回答

1

我想起我在我的應用程序一個也有類似的問題,

我用我的設置活動驗證碼延伸PreferenceActivity 並實現Preference.OnPreferenceChangeListener

@TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
    @Override 
    public Intent getParentActivityIntent() { 
     return super.getParentActivityIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    } 

請將此添加到您的清單

<activity android:name=".SettingsActivity" 
      android:label="@string/title_activity_setting" 
      android:parentActivityName=".MainActivity" 
      android:theme="@style/SettingsTheme">> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.package.MainActivity" /> 
     </activity> 

關於選項選擇簡單地我創建了設置activ的意圖並使用它。

這工作在我的情況。希望這可以幫助你。

+0

非常感謝。它正在工作! –

+0

很高興它解決了你的問題,並永遠歡迎朋友.. –

0

嘗試移除這行代碼

AlarmPreferencesActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

也許這會有所幫助。

+0

中使用它,它沒有幫助。點是設置活動啓動時,舊的主要活動尚未銷燬。方法onDestroy MainActivity觸發當我按設置活動中的後退按鈕 –

+0

請張貼您的清單聲明。 – d4h

+0

添加到描述 –

相關問題