- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Xamarin 中使用 Tabgroupactivity 来开发一个机器人应用程序。我有一个包含 4 个子 Activity 的 TabGroupActivity。
OnResume() 未在任何子 Activity 中调用。
谁能帮我找到正确的解决方案,为什么它没有被调用!!或者我的代码有什么错误吗?
TabGroupActivity.cs
namespace RB.Droid
{
[Activity (Label = "TabGroupActivity")]
public class TabGroupActivity : ActivityGroup
{
private List<string> _idList;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
if (_idList == null)
_idList = new List<string> ();
}
public void StartChildActivity (string id, Intent intent)
{
intent.AddFlags (ActivityFlags.ClearTop);
var manager = new LocalActivityManager (this, false);
var window = MainTabActivity.localActivityManager.StartActivity (id, intent);
if (window != null) {
_idList.Add (id);
SetContentView (window.DecorView);
}
}
public override void FinishActivityFromChild (Activity child, int requestCode)
{
var manager = new LocalActivityManager (this, false);
var index = _idList.Count - 1;
if (index < 1) {
Finish ();
return;
}
MainTabActivity.localActivityManager.DestroyActivity (_idList [index], true);
_idList.RemoveAt (index);
index--;
var lastId = _idList [index];
var lastIntent = MainTabActivity.localActivityManager.GetActivity (lastId).Intent;
var newWindow = MainTabActivity.localActivityManager.StartActivity (lastId, lastIntent);
SetContentView (newWindow.DecorView);
}
public override bool OnKeyDown (Keycode keyCode, KeyEvent e)
{
if (keyCode == Keycode.Back) {
return true;
}
return base.OnKeyDown (keyCode, e);
}
public override bool OnKeyUp (Keycode keyCode, KeyEvent e)
{
if (keyCode == Keycode.Back) {
OnBackPressed ();
return true;
}
return base.OnKeyUp (keyCode, e);
}
public override void OnBackPressed ()
{
var length = _idList.Count;
if (length > 1) {
var manager = new LocalActivityManager (this, false);
var current = MainTabActivity.localActivityManager.GetActivity (_idList [length - 1]);
FinishActivityFromChild (current, 0);
}
}
}
}
SettingsActivityGroup.cs
namespace RB.Droid
{
[Activity (Label = "SettingsActivityGroup")]
public class SettingsActivityGroup : TabGroupActivity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Create your application here
StartChildActivity ("Settings", new Intent (this, typeof(Settings)));
}
}
}
设置.cs
namespace RB.Droid
{
[Activity (Label = "Settings")]
public class Settings : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Create your application here
TextView tv = new TextView (this);
tv.Text = "Settings";
SetContentView (tv);
}
protected override void OnResume ()
{
base.OnResume ();
Toast.MakeText (this, "ON RESUME NOT CALLED", ToastLength.Long);
}
}
}
最佳答案
使用 OnStart
方法来做到这一点。我们使用此方法在显示 View 时加载/刷新一些 ui 数据。
OnResume
:当另一个 Activity 结束时,该 Activity 进入暂停状态。在这种情况下,当用户按下后退按钮时,将调用 onResume
。
有关 Activity 生命周期的更多信息和很好的解释:See this answer
关于c# - OnResume() 在 Xamarin Droid 中与 TabGroupActivity 一起使用时未在子 Activity 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944150/
我有一个使用标签组 Activity 的应用程序。选项卡在其内部打开每个 Activity 的方式一切正常,但是当用户注销时我的麻烦来了。我有一个确认用户想要注销的对话框,当他们单击"is"时,它会向
我用过Experience - Multiple Android Activities in a TabActivity实现选项卡。 我有以下条件。 MainActivity 扩展 TabActivi
我必须开发一个 android 应用程序。 这里我使用了标签组 Activity 。 我在我的适配器文件中使用了以下代码: convertView.setOnClickListener(new
如果我在我的应用程序中使用编辑框,我会在我的应用程序中使用 Tabgroupactivity。当我单击编辑框时,键盘打开。在这个时候,如果按下后退按钮,我的应用程序会退两步。以下是我的 tabgrou
我使用 FragmentTabHost 创建了三个选项卡。现在我需要让所有导航都在选项卡下。我怎样才能得到这个。我需要获得使用 TabGroupActivity 获得的结果。 标签1 ---> fra
我在 Xamarin 中使用 Tabgroupactivity 来开发一个机器人应用程序。我有一个包含 4 个子 Activity 的 TabGroupActivity。 OnResume() 未在任
我是一名优秀的程序员,十分优秀!