[英]How to go back from second screen to first screen
如何切换布局? 首先,我有一个 Main 类,其中onCreate
( setContentView(R.layout.main);
)然后我用命令调用另一个类:
setContentView(secondClass);
在这堂课中,我使用 Canvas 进行绘画,效果很好。 我还创建了返回第一个“类”( R.layout.main
)的按钮,但我不知道该怎么做。
现在我的程序是基本的图形淋浴。 在第一堂课中,您键入您的函数,然后他们在第二堂课中绘制它。 但是如何回到头等舱输入另一个函数。 每个 Android 手机都有这个“返回”按钮或箭头,让我退出程序而不是返回插入部分。
在 secondClass 中我无法创建 onCreate 方法,但我也尝试了以下方法,但它们不起作用:
Intent abc = new Intent("bla.bla.bla.FIRSTCLASS");
startActivity(abc);
和
Intent abc = new Intent(SecondClass.this,FirstClass.class);
startActivity(greNaPrvoOkno);
如果您想使用自定义视图(据我了解,您正在扩展 View 类),您可以通过以下方式进行;
考虑您正在展示您的主要活动中的第二类,如下所示;
setContentView(new SecondClass(getApplicationContext(), MainActivity.this));
你二等就是这个(假设);
// I am using onClickListener to go back to main view. You do whatever you like.
public class SecondClass extends View implements OnClickListener {
// This is needed to switch back to the parent activity
private Activity mParentActivity = null;
public SecondClass(Context context, Activity parentActivity) {
super(context);
mParentActivity = parentActivity;
setOnClickListener(this);
}
@Override
public void onClick(View v) {
// Set the Main view back here.
mParentActivity.setContentView(R.layout.main);
}
}
免责声明:此代码将执行您的要求,但可能会导致其他问题。
正如@Mudassir 所建议的,您应该为两个屏幕使用两种不同的活动。 它将为您提供更好的控制,并且您的代码将易于理解和维护。
在按钮的 Onclick 事件中,您必须编写 finish(); 而已..
您应该为您的第二类创建另一个活动,但不只是将主要活动设置为新视图 setContentView(secondClass)。
为了更容易修改,您可以先尝试将视图设置回 setContentView(R.layout.main)。
当您重新设置它时,您仍然需要在其上配置小部件(例如 TextView)。
您不必再次 startActivity 即可返回。
当您想完成当前活动并返回时,只需在您的第二个活动中调用 finish() :
例如,当用户在您的第二个活动中按下后退按钮时
mButtonBack.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
finish();
}
}
你的两个课程都是活动是吗? 如果是这样,那么在您的第二个活动中,您只需调用finish()
并且您的活动将关闭,再次显示您的第一个活动。
当我在我的 android 应用程序中使用多个意图时,我通过以下方式创建了一个新活动:
Intent abc = new Intent(this, SecondClass.class);
startActivity(abc);
当在您的第二堂课中按下按钮时,我会调用finish();
在课堂上,或创建一个新的意图,如下所示:
Intent abc = new Intent(this, FirstClass.class);
startActivity(abc);
但是,这种方法的缺点是,如果用户想要使用后退按钮,他们可能必须滚动多个活动层。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.