我的应用程序中有一个名为 ResultListViewActivity 的 ListView 活动,它显示来自数据库的内容。列表视图中显示的内容取决于在前一个活动中单击的按钮。所以如果用户点击Main Activity中的“Button 1”,就会在ResultListViewActivity中显示特定的内容,以此类推。
我想为这个活动添加一个菜单:问题是,这个菜单的项目也应该根据之前点击的按钮而改变。有9个案例,每个案例有不同数量的项目。到目前为止,我有这个代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Bundle bundle = getIntent().getExtras();
int filterVariable = bundle.getInt("filterVariable");
switch (filterVariable)
{
case 1:
getSupportMenuInflater().inflate(R.menu.filter_fastfood, menu);
break;
case 2:
getSupportMenuInflater().inflate(R.menu.filter_restaurants, menu);
break;
case 3:
getSupportMenuInflater().inflate(R.menu.filter_coffeeshops, menu);
break;
case 4:
getSupportMenuInflater().inflate(R.menu.filter_bars, menu);
break;
// [... and so on]
}
return super.onCreateOptionsMenu(menu);
}
它运作良好,对于每种情况,我确实在菜单中有不同的项目。但我不希望通过我设备的“菜单按钮”访问这些项目(这绝对不是本能的,用户也很难猜到)。这些项目很重要,所以我想在右上角有一个按钮,它会打开这个菜单(下拉菜单/弹出菜单)。
你知道这样的事情是怎么做到的吗?我在一些谷歌应用程序中看到了这一点,但找不到显示用于执行此操作的工具的教程。
谢谢 !
ps:我在我的应用程序中使用actionbarsherlock。