我正在开发一个应用程序,其目的是根据单击的按钮显示listview中数据库的一些内容。它以这种方式工作:我有一个主要活动有9个不同的按钮(例如:“餐馆”“快餐”“咖啡店”等),每次用户点击其中一个按钮时,它会打开一个相同的活动(称为ResultListViewActivity)但每次都有不同的内容(餐馆名单,快餐等) 因此,只有一个活动可以显示内容,但列表视图的内容本身会根据点击的按钮而有所不同。
现在这个工作,我想在ResultListViewActivity中添加一个过滤器菜单,为用户添加更多选项。问题是,根据点击的按钮,此菜单应该不同。例如,如果用户单击主活动中的“餐馆”,它应该打开ResultListViewActivity,其菜单包含“亚洲美食”,“法国菜”等项目,但如果他点击咖啡店,它将是“茶馆”“咖啡馆”等具有每个项目的具体方法。
我的想法是组织这个代码:
这个想法是有一个名为myVariable的变量,其值在任何时候点击一个按钮时设置(例如:你点击button1,myVariable = 1),将这个变量发送到我的ResultListViewActivity,然后用“if”写出9个情况“句子 在每种情况下,我都会在菜单中添加项目并定义这些项目应该做什么。
我的问题是:我认为这应该有效,但我也知道可能会有更直接或更轻松的事情来避免写出9种情况。我愿意按照上面解释的方式编写我的代码,但我担心我在android中的初学者级别让我不知道一些更有效的方法。
ps:访问项目我可能会在我的操作栏中使用一个名为“过滤器”的子菜单,或者如果不可能则使用微调器(我的屏幕底部已经有一个操作栏,不确定我可以拥有另一个在上面。)
答案 0 :(得分:1)
您可以创建9个不同的菜单并为myVariable充气。假设myVariable是一个整数,那么
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
switch (myVariable)
{
case 1:
getMenuInflater().inflate(R.menu.activity_restaurant, menu);
break;
case 2:
........
.....
}
return super.onCreateOptionsMenu(menu);
}