我希望通过使用后退按钮返回显示我之前活动的编辑按钮。但是当我使用
时 @Override
public void onClick(View arg0) {
// finish the current activity
finish();
}
在我当前的活动中,它将返回上一个活动,但编辑按钮不会显示。
如果我在之前的活动中使用onResume
@Override
protected void onResume() {
super.onResume();
btnEdit.setVisibility(View.VISIBLE);
}
然后它始终可见,无论活动是第一次恢复还是创建。
我是Android开发的新手,请帮我解决这个问题。
答案 0 :(得分:0)
你可以创建一个布尔变量,当你完成并在你的onResume方法中用这个布尔值检查时可以设置为true
答案 1 :(得分:0)
覆盖onRestart()方法
@Override
protected void onRestart () {
super.onResume();
btnEdit.setVisibility(View.VISIBLE);
}
或使用
启动活动startActivityForResult (Intent intent, int requestCode)
方法和覆盖
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
super.onActivityResult (requestCode,resultCode,data);
btnEdit.setVisibility(View.VISIBLE);
}
答案 2 :(得分:0)
好的,
当您启动Activity时,而不是startActivity(intent)
使用startActivityForResult(intent, 1989)
(1989可以是您想要的任何内容)。
当您从新活动返回时,在致电finish()
之前,请执行以下操作:
Intent returnIntent = new Intent();
returnIntent.putExtra("resultBool", true);
//Null checks, not strictly neccescary
if (getParent() == null)
{
setResult(Activity.RESULT_OK, returnIntent);
}
else
{
getParent().setResult(Activity.RESULT_OK, returnIntent);
}
finish();
然后在您的第一个活动覆盖onActivityResult()
中,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// The int you initially used
if (requestCode == 1989)
{
if (resultCode == RESULT_OK)
{
boolean result = data.getBooleanExtra("resultBool", false)
if (result)
//Show the button now
}
}
}