2013-08-28 38 views
0

所以我基本上采取this tutorial学习编程的基础知识,并通过在动作按钮响应他们有这个编码:病例和方法是什么意思?

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle presses on the action bar items 
    switch (item.getItemId()) { 
     case R.id.action_search: 
      openSearch(); 
      return true; 
     case R.id.action_settings: 
      openSettings(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

,但他们不谈论在所有的情况下部分,现在我不不知道该怎么做。我认为(?)我需要为opensearch()和opensettings()创建一个方法,但是我在这里放置了什么,情况部分是什么意思? 感谢您的帮助!

回答

0

switch | case结构是一个条件语句。 switch收到一个将与一个或多个值进行比较的变量。我通常认为它是写作if陈述的优雅方式。

每个case是对存储在提供给switch的变量中的值进行比较。在这种情况下,R.id.action_searchR.id.action_settings都是ID(字符串或数字,在这种情况下,我不知道哪一个,因为我没有使用教程),必须将其与item.getItemId()的值进行比较。

default是如果以前的case语句都不符合,将执行的操作。

所以,取决于item.getItemId()的值,可能的动作是openSearch()openSettings()(均含有return true结尾)任一的执行。但是,如果两个条件都不符合,那么将不会执行任何方法,并且返回的值将是super.onOptionsItemSelected(item)

因此,如果在该教程中无法找到这两个方法的代码,那么它很可能是一个抽象抛出在你说明如果代码中的条件得到满足将采取什么行动。

0

它只是一个谷歌的模板,向你展示你如何处理Android中菜单项(操作栏)的点击。 如果我们谈论这个特殊情况,那么在这种情况下,他们正在处理点击两个菜单项1.搜索2.Settings。

要完成上述任务,他们使用switch(也可以使用if和else语句)来验证哪个项目已被点击。

switch (item.getItemId()) { // Here they are checking the Id of item been clicked 
    case R.id.action_search: // Here they are examining if search item is clicked 
     //openSearch();   // if above case satisfies, then they gonna invoke the openSearch() method. 
     Toast.makeText(getApplicationContext(), "Pit Bull", Toast.LENGTH_LONG).show(); 
     return true; 
    case R.id.action_settings: // Here they are examining if action item is clicked 
     //openSettings();  // if above case satisfies, then they have invoked the openSettings() method. 
     Toast.makeText(getApplicationContext(), "Eminem", Toast.LENGTH_LONG).show(); 
     return true; 

您可以通过更换自己的逻辑做任何你想做这些案件里面做 例如:你可以在这里显示吐司像这样

Toast.makeText(getApplicationContext(), "Pit Bull", Toast.LENGTH_LONG).show(); 

它的好,你想学编程,但是必须先掌握基本的Java知识,否则很难理解/学习Android。

最好的运气..

0

把你想要的任何其他代码,那些样品的方法,代替您可以登录东西logcat的方法,如Log.w("Test", "search button clicked");

基本情况部分包含行动可以在点击按钮上执行,就像你可以开始一个新的活动,打印一些东西,设置一个日志,无论你想要点击什么代码,你都可以把它放在特定按钮的情况下。