在Monodroid中浏览Android活动

时间:2012-05-30 08:54:15

标签: c# xamarin.android

在我使用Monodroid的Android应用中,我有几项活动。我注意到(物理)后退按钮并不总能让应用程序像人们期望的那样返回上一个活动。

此外,如果应用程序崩溃当前活动消息,但会显示应用程序的上一个活动。根据我使用Java进行Android应用程序开发的经验,这不是我期望的行为。所以它可能是一个典型的Monodroid东西。我在这里错过了什么吗?

我有一个主要活动(启动),显示一次。从活动到活动的导航如下:

我的主要活动

 [Activity(Label = "x", MainLauncher = true, NoHistory = true, Icon = "@drawable/zoeker2", Theme="@android:style/Theme.NoTitleBar")]
    public class SplashActivity : Activity
    {



 private void showLogon()
        {
            System.Threading.Thread.Sleep(500);
            RunOnUiThread(delegate
            {
                StartActivity(typeof(LogonActivity)); 
            });
        }

我的登录活动

 [Activity(Label = "x",   Theme = "@android:style/Theme.NoTitleBar")]
    public class LogonActivity : Activity
    {

 void LogonActivity_OnLogonSucceeded(object sender, EventArgs e)
        {
            Tools.Log("Logon Activity. Logon succeeded");
            updateButtonStates();
            var menuActivity = new Intent(this, typeof(MenuActivity));
            StartActivity(menuActivity);
        }

最后是菜单活动

 [Activity(Label = "Menu", Theme="@android:style/Theme.NoTitleBar")]
    public class MenuActivity : Activity, ILocationListener, ISensorEventListener 
    {

这里没什么好看的。我必须使用其他属性吗?任何线索?

1 个答案:

答案 0 :(得分:1)

除了使用NoHistory = true的SplashActivity之外,我希望你记录的活动在MonoDroid / Android中的“正常BackStack操作”中工作

你也应该在Mono for Android中看到你对Java / Android的体验。

你可以试试像ApiDemo这样的东西 - 在你当前的设置中是否有用 - https://github.com/xamarin/monodroid-samples/tree/master/ApiDemo

如果您仍然遇到问题,那么也许您可以发布一个小型示例项目,或者您可以将此作为错误/问题报告给http://bugzilla.xamarin.com/enter_bug.cgi


在:

  

此外,如果应用程序崩溃当前活动消失,但是   显示应用程序的上一个活动

这听起来很不寻常。你有时会看到Android尝试在调试会话结束后重新启动之前的应用程序 - 也许这就是你所看到的?