4

我有三个活动说 ABC,从活动 A 我去 B 和搜索城市,从活动 B 我去活动 c,在 c iam 保存我放在异步任务中的东西,这将保存在 Activit A 列表视图中,问题是保存在列表中后,当我点击返回按钮时,我再次看到活动 A,但没有保存我之前保存的名称

private class Savecity extends AsyncTask<city, String, String> {

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            if(result != null && result.equals("sucess")){

            Intent intent = new Intent(activity, cityActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            startActivity(intent);}

        }
        @Override
        protected String doInBackground(city... arg0) {
            try {
                ((CityPreferences) activity.getApplication()).createcity(arg0[0]);

                return "sucess";
            } catch (Exception e) {
                Log.e(TAG, "", e);
                return "fail";
            }
        }
4

2 回答 2

21

你可以从你的 AndroidManifest.xml 文件中实现它,只需在你想要android:noHistory="true"的那些中添加属性<activity>

希望这可以帮助..

于 2012-12-06T10:59:35.620 回答
11

实际上,在您的活动中C,当您尝试重新调用活动A时,您需要做的就是清除活动堆栈。例如:

Intent i = new Intent(getBaseContext(), Activity_A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
于 2012-12-06T11:08:35.047 回答