后,我有3个活动:防止用户导航到活动注销
- LoginScreen。
- MainScreen。
- ProfileScreen。
的loginscreen是被称为第一次和登录按钮的点击我用下面的代码调用mainscreen活动的主要活动:
finish(); // I am calling finish because I don't want user to press back key at mainscreen and get back to login screen.
Intent it = new Intent(LoginScreen.this,MainScreen.class);
startActivity(it);
在我mainscreen我有一个注销按钮我正在使用此代码进行登录:
finish();
Intent it = new Intent(MainScreen.this,LoginScreen.class);
containerObject.startActivity(it);
我不知道为什么,但此代码不会让我登录屏幕。
如果我更改代码从上面这段代码:
finish();
Intent it = new Intent(MainScreen.this,ProfileScreen.class);
containerObject.startActivity(it);
代码工作绝对没问题,并带我到profilescreen。
让我说清楚,我已经添加了所有3个活动来显示。
我是否因为“LoginScreen”是主要活动而出现此问题?
我会推荐一个更好的方式来处理转换到登录屏幕,这将保持活动堆栈在一个传统的结构,并避免后退按钮问题。保持主屏幕为主要(默认)活动。在这里检查用户是否登录,如果没有,用'startActivityForResult'调用你的登录屏幕。 http://developer.android.com/reference/android/app/Activity.html#StartingActivities当用户登录后,使用'setResult()'退出登录活动,这会返回到主活动。 – 2011-04-19 06:49:24
除了在第一条评论中提到,为什么你先打完finish()然后发送intent?尝试改变顺序。 – Zelimir 2011-04-19 08:16:54
我很欣赏你的意见,但如果我们能够讨论这段代码出了什么问题,我们将非常感激。谢谢:) – necixy 2011-04-19 08:40:00