由于我是Android新手,我现在正在思考正确的做事方式.
目前,我写的应用程序有4个不同的屏幕:
>屏幕1 – 节点列表(主屏幕)
>屏幕2 – 选项菜单,带按钮的tableLayout
>屏幕3 – 导航
>屏幕4 – 版本等的文本详细信息
可以使用放置在顶部的“标题”视图来导航这些屏幕.然后标题有4个不同的按钮:
+--------------------+| menu with buttons |+--------------------+| || || || C O N T E N T || || || |+--------------------+
main.xml实际上只是一个包含header.xml然后是内容的linearLayout,在这种情况下是ListVIEw中的节点列表
options.xml几乎是一样的,它包括headerxml,然后是一堆按钮……
……等两个其他屏幕.
因此,当我按下顶部/菜单中的一个按钮时,内容应该切换到该屏幕.我的问题是:
>我应该为每个屏幕创建一个活动吗?我在谷歌上看到:
活动为用户可以进行的一个集中的努力呈现可视用户界面.
因此,我可以解释为每个屏幕使用一个Activity.
>我不应该创建比启动更多的活动,然后当我想更改上面的“内容”时,只运行setContentVIEw(R.layout.whatever)?
问候
解决方法:
您应该为每个屏幕使用单独的Activity;否则,您需要最终跟踪当前正在显示哪个单独的视图,以及当用户切换到另一个窗口或呼叫进入等时当前未显示的所有视图的状态.
如果您只为每个功能使用单独的Activity,则更容易跟踪此状态.
但是,如果您决定将所有内容保存在单个Activity中,则可以查看TabActivity
类.但是,还有一些警告会阻止您将“活动”作为选项卡内容.
> Android: Why shouldn’t I use activities inside tabs?
关于你的后续工作,遗憾的是你无法通过XML直接将一个Intent直接附加到button上,但是你可以通过扩展Activity来创建你自己的公共基类,并使用一些代码来连接监听器.
就像是:
public class BaseActivity extends Activity { protected VIEw.OnClickListener mbuttonListener; protected voID setupheaderbuttons() { findVIEwByID(R.ID.header_btn_1).setonClickListener(mbuttonListener); // ... findVIEwByID(R.ID.header_btn_n).setonClickListener(mbuttonListener); }}public class FirstActivity extends BaseActivity { @OverrIDe public voID onCreate(Bundle b) { super.onCreate(b); setContentVIEw(R.layout.first_activity); // This needs to be done *after* the VIEw has been inflated setupheaderbuttons(); }}
总结 以上是内存溢出为你收集整理的android – 什么是正确的选择?创建新活动或只创建不同的布局并替换现有布局?全部内容,希望文章能够帮你解决android – 什么是正确的选择?创建新活动或只创建不同的布局并替换现有布局?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)