【发布时间】:2013-03-19 06:53:43
【问题描述】:
我正在开发一个应用程序,其目的是根据单击的按钮在列表视图中显示数据库中的一些内容。它是这样工作的:我有一个带有 9 个不同按钮的主要活动(例如:“餐厅”“快餐”“咖啡店”等),每次用户单击其中一个按钮时,它都会打开一个相同的活动(称为ResultListViewActivity),但每次都有不同的内容(餐馆列表、快餐等)。
因此,只有一个活动可以显示内容,但列表视图本身的内容会根据单击的按钮而有所不同。
现在可以了,我想在我的 ResultListViewActivity 中添加一个过滤器菜单,以便为用户添加更多选项。问题是,这个菜单应该根据点击的按钮不同。例如,如果用户在 Main Activity 中单击“Restaurants”,它应该打开 ResultListViewActivity,其中包含“亚洲美食”、“法国美食”等项目的菜单,但如果他单击咖啡店,它将是“茶馆”“咖啡厅”等,每个项目都有特定的方法。
这是我组织此代码的想法:
这个想法是有一个名为 myVariable 的变量,在单击按钮时设置其值(例如:您单击 button1,myVariable=1),将此变量发送到我的 ResultListViewActivity,然后用“如果" 句子。
在每种情况下,我都会将项目添加到我的菜单中并定义这些项目应该做什么。
我的问题是:我认为这应该可行,但我也知道可能需要做一些更直接或更轻松的事情来避免编写 9 种情况。我愿意按照上面解释的方式编写我的代码,但我担心我的 android 初学者水平让我无法知道一些更有效的方法来做到这一点。
ps:要访问项目,我可能会从我的操作栏中使用一个名为“过滤器”的子菜单,如果不可能的话,我可能会使用微调器(我的屏幕底部已经有一个操作栏,不确定我是否可以拥有另一个在上面)。
【问题讨论】:
-
你的意思是菜单和onCreateOptionsMenu一样
-
其实我猜不一定,它也可以是一个微调器或任何不占用太多空间的东西,并且可以通过单击它来显示更长的项目列表。虽然理想情况下使用 onCreateOptionsMenu 可能会更好,但由于我已经在使用一个在我的完整应用程序中保持不变的操作栏,我不知道我是否可以再次使用它。
标签: android android-intent android-actionbar android-spinner android-menu