У меня есть два действия. Скажите Activity A
и Activity B
.
От Activity A
Я нажимаю кнопку для запуска Activity B
Это код, который я использую для этого:
Intent intent = new Intent(this, ActivityB.class);
this.startActivity(intent);
<ч/" > Теперь я нахожусь в Activity B
. В методе on on Activity B
я включаю кнопку "вверх".
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_news);
getActionBar().setDisplayHomeAsUpEnabled(true); //Here//
}
и в дескрипторе события для кнопки "вверх" у меня есть этот код:
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
case android.R.id.home:
finish();
NavUtils.navigateUpFromSameTask(this);
default:
return super.onOptionsItemSelected(item);
}
}
<ч/" > Теперь я решил вернуться к Activity A
. Я нажимаю кнопку "вверх" в панели действий, которая выглядит так:
Теперь проблема заключается в том, что когда я нажимаю кнопку "вверх", она возвращается к Activity A
, которая в порядке, но она перезапускает. Как заставить его остановить перезапуск? Я просто хочу, чтобы он возобновил.
Когда я использую свою кнопку назад, она работает так, как ожидалось. то есть он переходит в Activity A
и возобновляет его, а не перезапускает.
Я хочу, чтобы моя активность возобновилась, потому что на этом мероприятии я загружаю некоторую строку в сети, поэтому я не хочу, чтобы она продолжала загружать данные, когда пользователи переходят из Activity B → Activity A
Изменить Мой файл манифеста для раздела
Activity B
выглядит следующим образом:
<activity
android:name="com.example.android.ActivityB"
android:label="@string/title_activity_view_news"
android:parentActivityName="com.example.android.ActivityA">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.android.ActivityA" />
</activity>
<ч/" > Изменить 2 [Ответ]
Итак, это было довольно неожиданно, но в моем AndroidManifest.xml в разделе "Активность А" мне пришлось добавить следующий линейный лайнер. android:launchMode="singleTop"
, теперь он выглядит следующим образом:
<activity
android:name="com.example.android.ActivityA"
android:label="@string/app_name"
android:launchMode="singleTop"> //**HERE**//
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>