我读过的关于 Intents 的所有内容都谈到了使用它们来推送数据,或者从另一个 Activity 启动一个 Activity。我想从已经运行的活动中提取数据。
http://developer.android.com/resources/tutorials/views/hello-tabwidget.html上的选项卡布局教程说明了我想要做什么。(我的应用程序正在做一些工程计算,但教程代码很好地类比了我的应用程序。)本教程创建了一个包含三个选项卡的应用程序,每个选项卡都托管一个单独的活动。
为了扩展本教程中的示例,假设我在 Artists 选项卡/活动中选择了一位艺术家。我希望能够选择“专辑”选项卡/活动并让它显示该艺术家的所有专辑。
在我看来,我需要使用 Intent 来执行此操作。我发现的所有教程都假设我将在艺术家选项卡/活动中创建一个“查看专辑”按钮,并且按下该按钮将执行一个启动专辑活动并传递艺术家姓名的意图。
我不想创建那个按钮。Artists 布局上的不动产是宝贵的,我有一个非常好的专辑选项卡,并且 HelloTabWidget 活动已经包含创建专辑选项卡的意图。
此外,用户会希望在专辑和艺术家之间来回跳转以更改艺术家选择,而选项卡是执行此操作的绝佳方式。无需使用另一个按钮使 UI 复杂化。
So how can I have the Albums activity PULL artistName from the Artists activity when the Albums tab is selected (or the Albums layout is displayed), rather than have the Artists activity START Albums and PUSH the artistName?
我可以从其他编程世界中想到的等价物:
全局变量。对 Android devt 感到沮丧,对吧?如果它们确实存在,它们叫什么?
吸气剂,如
artistName = Artists.getArtistName();
. 我感觉这并不容易。写入和读取文件 - 即大容量存储或非易失性存储器。我不需要 ArtistName 值是永久的。每次用户启动应用程序时,它将被重置为 null。
那么它是如何在 Android 世界中完成的呢?我是否使用 Intent - 如果是,如何使用?