Xamarin Android 使用 OnOptionsItemSelected 和 Finish() 方法单击两次 Actionbar Back
Xamarin Android Click twice Actionbar Back using OnOptionsItemSelected and Finish() methods
我有 FragmentActivity A,使用 StartActivity 启动 FragmentActivity B,然后在 Acitvity B 上调用 finish() 返回到 Activity A(比如Master/Detail)。
问题是我需要在 ActionBar 后退按钮上单击两次才能关闭 Activity B. 我做错了什么?
从 Activity A:
调用活动 B
var activityDetails = new Intent(this.Context, typeof(ActivityA));
StartActivity(activityDetails);
Activity.OverridePendingTransition(Resource.Animation.abc_fade_in, Resource.Animation.abc_fade_out);
从 Activity B
调用 Finish()
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Android.Resource.Id.Home:
this.Finish();
return true;
default:
return base.OnOptionsItemSelected(item);
}
// return base.OnOptionsItemSelected(item);
}
我明白了。我两次调用点击事件。已解决...
我有 FragmentActivity A,使用 StartActivity 启动 FragmentActivity B,然后在 Acitvity B 上调用 finish() 返回到 Activity A(比如Master/Detail)。 问题是我需要在 ActionBar 后退按钮上单击两次才能关闭 Activity B. 我做错了什么?
从 Activity A:
调用活动 Bvar activityDetails = new Intent(this.Context, typeof(ActivityA));
StartActivity(activityDetails);
Activity.OverridePendingTransition(Resource.Animation.abc_fade_in, Resource.Animation.abc_fade_out);
从 Activity B
调用 Finish()public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Android.Resource.Id.Home:
this.Finish();
return true;
default:
return base.OnOptionsItemSelected(item);
}
// return base.OnOptionsItemSelected(item);
}
我明白了。我两次调用点击事件。已解决...