【发布时间】:2011-02-15 17:44:47
【问题描述】:
我想知道,我将如何制作一个 switch 语句,当那个特定的情况被触发时,它会打开一个带有文本的新屏幕。我会使用意图吗?如果是这样,是哪一个?
提前感谢您的帮助。
【问题讨论】:
标签: android android-intent switch-statement listactivity
我想知道,我将如何制作一个 switch 语句,当那个特定的情况被触发时,它会打开一个带有文本的新屏幕。我会使用意图吗?如果是这样,是哪一个?
提前感谢您的帮助。
【问题讨论】:
标签: android android-intent switch-statement listactivity
当您想要打开一个“新屏幕”时,您可能想要打开一个新活动。您将创建第二个 Activity 派生类,并将 Intent 构造函数的以下重载与 startActivity 一起使用:
Intent intent = new Intent(this, MySecondActivity.class);
startActivity(intent);
这将显式尝试打开一个类名为 MySecondActivity 的新 Activity
要以这种方式将文本字符串从一个 Activity 传递到另一个,您可以将其添加到 Intent 中。
String someValue = "Some Value";
intent.putExtra("Some Key", someValue);
在您的其他 Activity 的代码中,您可以通过 Intent 获取此字符串
getIntent().getStringExtra("Some Key");
显然,您希望进行空值检查以确保键存在于 Intent 中,并且您希望将适当的常量字符串放在某处,而不是使用文字字符串作为键,但这是基本要点。
【讨论】:
Kriem... 正如 Rich 所说,您可以使用意图启动新活动,并使用附加功能将数据推送到新活动。您可以使用 startActivityForResult 而不是 startActivity 将数据推送回您的主要活动。您可以通过在新屏幕中调用 finish() 返回主屏幕。最后,您可以将新的屏幕事件处理程序放入 NewScreen.java 文件中。
总体效果是两个活动之间的依赖关系几乎完全分离,因此您可以轻松地在另一个项目中重用 NewScreen.java 类。我有some code here。
【讨论】: