1. ホーム
  2. java

[解決済み] Java構文解説 - getMenuInflater()

2022-02-04 09:06:01

質問

アンドロイドスタジオをダウンロードしたばかりで、big nerd ranch's guide to android programmingを使いながら勉強しています。

アンドロイドスタジオを起動すると、このコードはすでにメインのアクティビティファイルの中にあります。

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    **getMenuInflater().inflate(R.menu.menu_quiz, menu);**
    return true;
}

がよくわからない。 getMenuInflater という行があります。私の短いJavaの経験では、メソッドの前にオブジェクトが来るのは、ピリオドで2つを区切るときだけです。 dog.bark() . この行は、getMenuInflaterメソッドの中で定義されているinflateメソッドを呼び出すことを意味しているように見えます。しかし、ソースコードを見てみると getMenuInflater() そのボディには、inflate メソッドはありません。

誰かこの行の構文を解明してくれませんか?

どのように解決するのですか?

ライン getMenuInflater().inflate(R.menu.menu_quiz, menu); は、その短縮形です。

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_quiz, menu)