android开发的基本布局/导航问题
Posted
技术标签:
【中文标题】android开发的基本布局/导航问题【英文标题】:Basic layout/navigation question for android development 【发布时间】:2011-05-04 22:36:52 【问题描述】:在 android 应用程序的“窗口”之间导航的最佳方法是什么?
我说“windows”是因为我在 java 中没有正确的术语。我刚开始。
假设用户看到的第一个屏幕是带有按钮的用户名和密码输入。成功登录后,它会显示一个带有相关登录信息的全新“窗口”?
我尝试在 main.xml 中的视图中放置 2 个 EditTexts 和一个 Button(使用 Main.xml 图形布局选项卡 [eclipse]),但它不喜欢那样。
【问题讨论】:
那些“windows”被称为activity,最好的了解它的地方是android开发者网站:developer.android.com/index.html。他们有很多关于什么是以及如何使用每个组件的示例和教程。如果没有看到您的 xml,我们可能无法为您提供太多帮助...... 哇,感谢所有回复!我不知道如何回应你们所有人,所以希望你们能看到这一点。你们给我的比我想象的要多。多么棒的社区!..我相信我会掌握这个 *** 投票系统的东西 【参考方案1】:这是http://developer.android.com/guide/topics/fundamentals.html页面的摘录
活动 一个活动表示具有用户界面的单个屏幕。例如,一个电子邮件应用程序可能有一个显示新电子邮件列表的活动,另一个用于撰写电子邮件的活动,以及另一个用于阅读电子邮件的活动。尽管这些活动一起工作以在电子邮件应用程序中形成一种有凝聚力的用户体验,但每个活动都独立于其他活动。因此,不同的应用程序可以启动这些活动中的任何一项(如果电子邮件应用程序允许)。例如,相机应用程序可以在撰写新邮件的电子邮件应用程序中启动 Activity,以便用户共享图片。
这里有一个关于如何在活动之间切换的教程:http://www.warriorpoint.com/blog/2009/05/24/android-how-to-switch-between-activities/
不要让 get 将每个活动都添加到 AndroidManifest.xml!
【讨论】:
您好,感谢您提供教程链接。我正在将该教程改编为我当前的测试应用程序。我对 Intent 部分感到困惑。他让它在 OnClick 事件中工作。没有那个我需要发生,所以我不会通过view
。我如何访问它?我想我需要知道当前视图是什么..例如http://pastie.org/1868786【参考方案2】:
您可以将活动视为 android 的“窗口”。
为您的不同活动创建不同的布局 XML,并在按钮上单击活动 A 启动活动 B 并关闭 A... 举个例子:
// in activity A for the button click:
public void onButtonClick(View view)
Intent intent = new Intent(this, B.class);
activity.startActivity(intent);
activity.finish();
// in activity B you have:
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.B); //using your B.xml layout
【讨论】:
【参考方案3】:Android 的做法是为每个“窗口”使用Activity,正如您所说的那样。您可以使用 startActivity() 在活动之间移动。
在 xml 布局中放置 2 个编辑文本和一个按钮应该没有任何问题,因此您遇到的问题可能与其他问题有关。您是否检查过日志输出是否有错误?吸引很多新手的是,您必须在 mainfest 文件中声明每个 Activity,否则 Android 将无法加载它。
【讨论】:
【参考方案4】:Android 中的“窗口”称为活动,您可以通过 Intent 在它们之间移动。
Intent intent = new Intent(GroupPickerActivity.this, SmsActivity.class);
startActivity(intent);
【讨论】:
【参考方案5】:要了解的内容很多,我建议在深入了解之前先阅读一些教程。对于每个“窗口”(在 android 中称为内容视图),都应该有一个底层 Activity。
在 Cal Poly SLO 的大学课程中教授 here 的实验室帮助我快速熟悉了 Android。
【讨论】:
【参考方案6】:意图意图=新意图(这个, 其他类名.class);
intent.putExtra("userid", userfield); //sends the userid startActivity(intent);
public void onCreate(Bundle 保存的实例状态)
super.onCreate(savedInstanceState); setContentView(R.layout.showhistoricweek); senduserid = getIntent().getIntExtra("userid", 0); //gets the userid
【讨论】:
以上是关于android开发的基本布局/导航问题的主要内容,如果未能解决你的问题,请参考以下文章