刚刚下载了 android studio,我正在使用 big nerd ranch 的 android 编程指南来学习绳索。

当您启动 android studio 时,此代码已在主 Activity 文件中:

 @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 的短暂体验中,当使用句点将两者分开时,例如在 dog.bark() 中,只有一个对象出现在方法之前。这里看起来这行意味着调用在 getMenuInflater 方法中定义的 inflate 方法。但是,我查看了 getMenuInflater() 的源代码,它的主体中没有 inflate 方法。

有人可以为我揭开这一行中的语法的神秘面纱吗?

最佳答案

getMenuInflater().inflate(R.menu.menu_quiz, menu); 行是一个简短的形式:

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

关于Java 语法解释——getMenuInflater(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30677957/

10-10 10:57