9

我有以下代码可以启用主页按钮作为后退按钮。我面临的问题来自这个活动,如果我使用真正的后退按钮,它只是回到上一个活动,就像我离开它一样。如果我使用主页按钮,它会重新加载页面,所以我会丢失之前对它所做的事情。我敢肯定这是我想念的简单的东西。

@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);
    }
}
4

2 回答 2

14

而不是IntentNavUtils尝试使用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);
    }
}
于 2013-04-18T21:30:43.983 回答
2

Home/Up 按钮应该重新加载新活动。但是,如果您想模拟后退按钮功能,您可以调用finish()以返回上一个活动:

 case android.R.id.home:
        finish();
        return true;
于 2013-04-18T21:30:55.077 回答