Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中显示多个setContentView的最佳方式_Android_Android Activity - Fatal编程技术网

在Android中显示多个setContentView的最佳方式

在Android中显示多个setContentView的最佳方式,android,android-activity,Android,Android Activity,我对安卓相当陌生,所以如果这个问题听起来很愚蠢,我道歉 我正在尝试创建一个包含许多课程的考勤应用程序,但其中两个主要课程是学生和课程 我计划使用选项卡导航,学生和课程是我的TabHost中的两个选项卡 例如,课程页面将列出系统中当前的所有课程,其中包含一个用于添加课程的选项菜单,该菜单将显示一个添加课程屏幕(在课程选项卡中,但更改视图) 所以,对于我的问题 我计划为选项菜单项设置onclick,它将调用setContentView来显示添加新课程布局,而不是启动显示新布局的新活动 这听起来是一种

我对安卓相当陌生,所以如果这个问题听起来很愚蠢,我道歉

我正在尝试创建一个包含许多课程的考勤应用程序,但其中两个主要课程是学生和课程

我计划使用选项卡导航,学生和课程是我的TabHost中的两个选项卡

例如,课程页面将列出系统中当前的所有课程,其中包含一个用于添加课程的选项菜单,该菜单将显示一个添加课程屏幕(在课程选项卡中,但更改视图)

所以,对于我的问题

我计划为选项菜单项设置onclick,它将调用setContentView来显示添加新课程布局,而不是启动显示新布局的新活动

这听起来是一种明智的做法吗?如果不是的话,什么是更好的方法

我的所有课程逻辑都将包含在课程类中,因此我希望所有代码都包含在课程类中,而无需为课程列表创建课程/活动、添加课程、查看课程等

我希望这是有道理的

这听起来是一种明智的做法吗?如果不是的话,什么是更好的方法

不,这样做是不明智的。你应该打开新的活动;这就是安卓的方式。也许你正在尝试模仿iPhone标签的样式,它不会打开新窗口或其他东西


如果你仍然想这样做,你最好使用
ActivityGroup
(那里有教程),这是一种很难使用的方法。

这肯定不是一种明智的做事方式

但是,您可以使用ViewFlipper来更改屏幕布局。这样你就可以呆在同一个班级里,改变你的屏幕设计


我知道对活动调用setContentView()两次会引发异常,好吧,谢谢你的建议,所以我似乎采取了错误的方法。所以,如果我为学生、课程等创建单独的类,那么为每个屏幕创建活动,我可以在活动之间传递类对象,而不会有太多问题?