Android 如何从第二个屏幕返回到第一个屏幕
我可能有一个简单的问题,如何切换布局,但对我来说有点复杂。首先,我有一个类Main,其中是Android 如何从第二个屏幕返回到第一个屏幕,android,android-activity,Android,Android Activity,我可能有一个简单的问题,如何切换布局,但对我来说有点复杂。首先,我有一个类Main,其中是onCreate(setContentView(R.layout.Main);),然后我调用另一个带有命令的类: setContentView(secondClass); 在本课程中,我使用画布绘制,这项工作很好,我还创建了返回第一个“类”的按钮(R.layout.main),但我不知道如何做 现在我的程序是基本的图形淋浴。第一类输入函数,第二类绘制函数。但是如何在第一个类中返回以键入另一个函数。这个“后
onCreate
(setContentView(R.layout.Main);
),然后我调用另一个带有命令的类:
setContentView(secondClass);
在本课程中,我使用画布绘制,这项工作很好,我还创建了返回第一个“类”的按钮(R.layout.main
),但我不知道如何做
现在我的程序是基本的图形淋浴。第一类输入函数,第二类绘制函数。但是如何在第一个类中返回以键入另一个函数。这个“后退”按钮或箭头巫婆每个安卓手机都有,发送我出程序,而不是回到插入部分
在第二节课中,我无法创建onCreate方法,但我也尝试了以下方法,但都不起作用:
Intent abc=newintent(“bla.bla.bla.FIRSTCLASS”)代码>
及
Intent abc=新的Intent(SecondClass.this,FirstClass.class)代码>
我知道我的英语不好。希望你能理解
谢谢。您应该为第二个类创建另一个活动,而不仅仅是将主活动设置为新视图setContentView(secondClass)
为了便于修改,可以先尝试将视图设置回setContentView(R.layout.main)
当您将其设置回原位时,仍然需要在其上配置小部件(例如TextView)
你不必再次启动触觉就能返回
如果要完成当前活动并返回,只需在第二个活动中调用finish():
e、 当用户在第二个活动中按下后退按钮时
mButtonBack.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
finish();
}
}
您应该为第二个类创建另一个活动,而不仅仅是将主活动设置为新视图setContentView(secondClass)
为了便于修改,可以先尝试将视图设置回setContentView(R.layout.main)
当您将其设置回原位时,仍然需要在其上配置小部件(例如TextView)
你不必再次启动触觉就能返回
如果要完成当前活动并返回,只需在第二个活动中调用finish():
e、 当用户在第二个活动中按下后退按钮时
mButtonBack.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
finish();
}
}
在按钮的Onclick事件中,必须写入finish();就是这样。在按钮的Onclick事件上,您必须写入finish();就这样。你们两个班都是活动,是吗?如果是这样,那么在第二个活动中,您只需调用finish()
,您的活动将再次关闭,并显示您的第一个活动。您的两个类都是活动是吗?如果是这样,那么在您的第二个活动中,您只需调用finish()
,您的活动将再次关闭,显示您的第一个活动。当我在android应用程序中使用多个意图时,我通过以下方式创建了一个新活动:
Intent abc = new Intent(this, SecondClass.class);
startActivity(abc);
当在第二节课中按下按钮时,我会调用finish()在类上编写>或创建新的意图,如下所示:
Intent abc = new Intent(this, FirstClass.class);
startActivity(abc);
但是,这种方法的缺点是,如果用户想要使用“后退”按钮,他们可能需要滚动浏览多个活动层。当我在android应用程序中使用多个意图时,我通过以下方式创建了一个新的活动:
Intent abc = new Intent(this, SecondClass.class);
startActivity(abc);
当在第二节课中按下按钮时,我会调用finish()在类上编写>或创建新的意图,如下所示:
Intent abc = new Intent(this, FirstClass.class);
startActivity(abc);
但是,这种方法的缺点是,如果用户想要使用“后退”按钮,他们可能需要滚动浏览多个活动层。如果您想要使用自定义视图(据我所知,您正在扩展视图类),可以通过以下方式来实现:
考虑到你正在展示你主要活动的第二节课,就像这样
setContentView(new SecondClass(getApplicationContext(), MainActivity.this));
你的二等舱是这个(假设)
免责声明:此代码将满足您的要求,但可能会导致其他问题。
根据@Mudassir的建议,您应该在两个屏幕上使用两种不同的活动。它将为您提供更好的控制,并且您的代码将易于理解和维护。如果您想使用自定义视图(据我所知,您正在扩展视图类),您可以通过以下方式进行操作:
考虑到你正在展示你主要活动的第二节课,就像这样
setContentView(new SecondClass(getApplicationContext(), MainActivity.this));
你的二等舱是这个(假设)
免责声明:此代码将满足您的要求,但可能会导致其他问题。
根据@Mudassir的建议,您应该在两个屏幕上使用两种不同的活动。它将为您提供更好的控制,并且您的代码将易于理解和维护。如果您使用setContentView
更改了视图,请再次使用此后退按钮切换回您的主视图。但是为什么不使用单独的活动呢?如果您使用setContentView
更改了视图,请再次使用“后退”按钮切换回您的Main
视图。但是为什么不使用单独的活动呢?是的,我写了finish();但它不明白。它说:“这个类的finish()方法不是未定义的”?您应该为第二个类创建另一个活动,而不仅仅是将它设置为新的视图setContentView(secondClass)。为了便于修改,可以先尝试将视图设置回主setContentView(R.layout.main);但它不明白。它说:“这个类的finish()方法不是未定义的”?您应该为第二个类创建另一个活动,而不仅仅是将它设置为新的视图setContentView(secondClass)。为了便于修改,可以先尝试将视图设置回主setContentView(R.layout.main);是的,我写完了;正如其他人提到的,您应该创建一个新的活动来显示图形,或者将两个视图放在一个视图中