1

アクションバーとmenu_main.xmlファイルを含むメニューリソースフォルダーを備えたアプリがありますが、各リソースファイルにアクティビティが必要であると想定するのは正しいと思いますか?

そうでない場合は、android:visible = "false"をandroid:visible = "true"に動的に変更する方法はありますか?それとも私はそれを間違った方法で行っていますか?

4

1 に答える 1

1

メニューはアクティビティ用であり、レイアウト用ではありません。

あなたの質問に答えるために、可視性を動的に変更する方法があります。onCreateOptionsMenu (Menu menu)メソッドでは、個々のメニューコンポーネントを表示/非表示に設定できます。

例えば。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu);
  menu.findItem(R.id.myMenuItem1).setVisible(false);
}

ただし、アクティビティごとに個別のメニューxmlを作成することに固執します。これは小さく(結局は単なるテキストです)、混同しないようにするのに役立ちます。

于 2013-01-03T21:03:07.113 に答える