我已经定义了一个带有三个选项卡的 HomeActivity,每个选项卡都是一个单独的活动。我使用了 android 开发人员站点中的示例。http://developer.android.com/resources/tutorials/views/hello-tabwidget.html
选项卡 B(第二个选项卡)的 UI 包含一个文本和按钮(名为搜索)。当用户单击搜索按钮时,它应该联系 REST Web 服务并将结果显示为列表。
为了做到这一点,在 TAB B 活动中,单击按钮,我调用一个方法,该方法创建一个意图并调用一个新的 SearchResultsActivity(此后称为 SRA)。在 SRA(扩展列表活动)中,我有用于连接到 Web 服务并解析返回的 JSON 结果的逻辑,该结果将结果显示为列表。我能够实现此功能。但我在这里看到了一些缺点,我的问题是:
是否可以定义一个新的活动 (SRA) 来处理搜索结果?还是让它在 TAB B 活动本身中处理会更好?我进行单独活动的主要原因是,SRA 扩展了 ListActivity,如果我想将其显示为 List 和 TabB 只是扩展 Activity 和不允许我显示结果。那么,有没有更好的方法来做到这一点?
鉴于上述实现,当我从 TabB(单击搜索按钮)导航到 SRA 时,不再看到选项卡。由于 TabB 正在调用一个新活动(Intent srchIntent = new Intent(TabB.this, SearchResultActivity.class); TabB. this.startActivity(srchIntent);),标签消失了。在这种情况下,最好的解决方案是什么,以便标签出现/结果显示在标签 B 中?
从 TabB 导航到 SRA 时,我试图在调用 StartActivity 之前显示在 TabB 中定义的进度对话框/加载,然后取消它。但是加载图标没有出现。我也尝试在 SRA 中显示对话框并取消。但是加载没有出现。