2013-08-28 45 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");

基本情況部分包含行動可以在點擊按鈕上執行,就像你可以開始一個新的活動,打印一些東西,設置一個日誌,無論你想要點擊什麼代碼,你都可以把它放在特定按鈕的情況下。