Android: используйте значок в качестве кнопки "Назад" без перезагрузки предыдущей активности.

У меня есть следующий код, позволяющий кнопке "home" действовать как кнопка "Назад". Проблема, с которой я сталкиваюсь, связана с этой деятельностью, если я использую настоящую кнопку возврата, она просто возвращается к предыдущей деятельности, как только я ее оставил. Если я использую кнопку "домой", она перезагружает страницу, поэтому я теряю то, что было сделано ранее. Я уверен, что это простое, что мне не хватает.

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.census_management_search, menu);
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    // Handle item selection
    switch (item.getItemId()) 
    {
        case android.R.id.home:
            Intent intent = new Intent(this, CensusManagementActivity.class);
            NavUtils.navigateUpTo(this, intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

Ответ 1

Вместо Intent и NavUtils попробуйте использовать метод onBackPressed().

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    // Handle item selection
    switch (item.getItemId()) 
    {
        case android.R.id.home:
            onBackPressed();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

Ответ 2

Кнопка Home/Up должна перезагрузить новую активность. Однако, если вы хотите эмулировать функциональность кнопки "Назад", вы можете вызвать finish(), чтобы вернуться к предыдущему действию:

 case android.R.id.home:
        finish();
        return true;