我在一个活动中有一个后退按钮,当我点击它返回到父活动时,它将重置父活动。这就像再次调用onCreate()
一样。我不确定为什么会这样,因为当您点按后退按钮时,它只会调用finish()
来存在我当前所处的活动。
以下是我如何声明工具栏:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_item);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
if(getSupportActionBar() != null)
{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
点击按钮时会发生这种情况:
public boolean onOptionsItemSelected(MenuItem item)
{
if (item.getItemId()==android.R.id.home)
{
finish();
}
return super.onOptionsItemSelected(item);
}
奇怪的是,当我点击保存按钮时,我返回父活动而没有任何重置。所以我不确定为什么会这样。
答案 0 :(得分:1)
您需要返回true,否则它将始终调用onCreat()
方法。此外,您可以创建一个“空”意图,而不是在您返回的活动上处理它。
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if (item.getItemId()==android.R.id.home)
{
Intent intent = new Intent();
setResult(Intent_Constant.TAPPED_BACK_BUTTON, intent);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}