2015-04-22 46 views
0

我在這裏遇到一個不尋常的問題。我的行動酒吧工作正常,然後我去測試它現在完全停止。按下時,他們沒有迴應。一個是後退按鈕,另一個是發送按鈕。兩者都不起作用。這裏是我的菜單單擊時操作欄項目不起作用

ActivityOne.java

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_send, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 

     case R.id.home: 
      super.onBackPressed(); 
      return true; 

     case R.id.action_send: 
      new PostUpLoad().execute(); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

menu_send.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context=".ActivityOne"> 

<item 
    android:id="@+id/action_send" 
    android:orderInCategory="100" 
    android:title="@string/send" 
    android:icon="@drawable/ic_send" 
    app:showAsAction="ifRoom" /> 
</menu> 

一切代碼看起來很好,但他們根本不工作。任何幫助將不勝感激。

回答

0

更換R.id.homeandroid.R.id.home

+0

我現在得到並與R.id.action_send錯誤: 它給出了一個錯誤,它不能被解除 –

+0

只取代'R.id.home'不要替換'R.id.action_send' –

+0

好吧,現在就試試吧, –

0

你錯過了在交換機的情況下休息,我不知道在onCreateOptionsMenu(菜單菜單)返回true

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_send, menu); 
    return super.onOptionsItemSelected(item); 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
// Handle item selection 
switch (item.getItemId()) { 

    case R.id.home: 
     super.onBackPressed(); //might use finish() instead 
     break; 

    case R.id.action_send: 
     new PostUpLoad().execute(); 
     break; 

    default: 
     super.onOptionsItemSelected(item); 
} 

}

+0

哦,我認爲回報可以彌補這一點。去嘗試一下,看看是否有用。 –

+0

讓我們知道它是如何工作的,並且標記爲已解決! –

+0

在這種情況下返回true是正確的(如果處理點擊,則返回true)。我相信super.onOptionsItemsSelected(item)只是返回false。在交換機內部返回也顯然會終止交換機的執行,因爲它返回了方法,所以這也不是問題。 –