私のアプリケーションには、ResultListViewActivity と呼ばれる ListView アクティビティがあり、データベースのコンテンツを表示します。リストビューに表示されるコンテンツは、前のアクティビティでクリックされたボタンによって異なります。したがって、ユーザーがメイン アクティビティの「ボタン 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);
}
どの場合でも、実際にメニューにさまざまなアイテムがあります。しかし、デバイスの「メニューボタン」からこれらのアイテムに到達できるようにしたくありません (これは、ユーザーが本能的ではなく、推測するのが難しいためです)。これらの項目は重要なので、代わりにこのメニューを開くボタン (ドロップダウン メニュー/ポップアップ メニュー) を右上隅に配置したいと考えています。
そのようなことができる方法を知っていますか?これはいくつかの Google アプリケーションで見たことがありますが、これを行うために使用するツールを示すチュートリアルが見つかりませんでした。
ありがとう !
ps: アプリケーションで actionbarsherlock を使用しています。