活动A有一个按钮,在onclick它启动新活动B时,新活动只有最小的onCreate功能.
在活动AI中按下一个使用的按钮
startActivity(new Intent(A.this, B.class))
Run Code Online (Sandbox Code Playgroud)
开始活动B.当我运行程序时,按下活动A中的按钮,活动B开始,但我必须使用两次后退按钮退出并返回第一个活动.
当单击A中的按钮时,我检查了logcat,同时生成了两个相同的实例.此外,我尝试在Activity B中使用Toastin onCreate进行调试,这表明当我使用后退按钮时,它会调用onCreate另一个双B活动.我发现这篇文章点击两次后退按钮退出一个不回答问题的活动.
我可以阻止它制作双实例的唯一方法是使用tag:launchMode= "singleInstance"清单中的活动明确限制它.
问题仍然存在:
更多解释:代码:Activity A有一个buttOnClick()函数,其中有一个开关(view.getId()),用于检查单击了哪个按钮.每种情况都使用特定的整数参数(按钮ID)调用函数动画.在此函数中,再次切换检查id并使用setAnimationListener运行与按钮对应的动画.在动画结束时,它要求启动新活动.这是它的样子:
public void myButtonOnClick(View view)
{
switch (view.getId()) {
case R.id.button1:
animation(1);
break;
//....more lines..... }}
public void animation(int a){
//...code...
switch(a){
case 1:
anim.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation arg0) { …Run Code Online (Sandbox Code Playgroud)