2013-05-18 5 views
1

ActionBar에 이상한 문제가 있습니다. ListActivity를 설정하고 있습니다. 여기 하위 메뉴가 표시된 후 선택적 메뉴 항목

내가 설정 내 메뉴를 사용하는 XML이다

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:id="@+id/menu_search" 
    android:title="@string/search_filter" 
    android:icon="@drawable/ic_search" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_start_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_end_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_filters" 
    android:title="@string/filters" 
    android:icon="@drawable/ic_filter" 
    android:showAsAction="always|withText"> 

    <menu> 
     <item 
      android:id="@+id/menu_ratings" 
      android:title="@string/ratings" 
      android:icon="@drawable/ic_star" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_emotions" 
      android:title="@string/emotions" 
      android:icon="@drawable/ic_smi2" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_categories" 
      android:title="@string/categories" 
      android:icon="@drawable/ic_folder" 
      android:showAsAction="always|withText" /> 
</menu> 

<item 
    android:id="@+id/menu_search_order" 
    android:title="@string/search_order"  
    android:icon="@drawable/ic_search_order" 
    android:showAsAction="ifRoom|withText" />  
</item> 

</menu> 

메뉴 항목을 menu_search, menu_start_date, menu_end_datemenu_filters 잘 작동 하위 메뉴 있지만, 실제 메뉴에서 메뉴 menu_search_order를 얻을 불가능 버튼 (버튼을 누르면 아무런 변화가 없습니다).

가 그래서 문제가 하위 메뉴에서 오지 않을 있는지 확인하기 위해 약간의 테스트를했다, 내가 코드를 변경하고 하위 메뉴 부분 주석 :이 변경 후

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:id="@+id/menu_search" 
    android:title="@string/search_filter" 
    android:icon="@drawable/ic_search" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_start_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_end_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_filters" 
    android:title="@string/filters" 
    android:icon="@drawable/ic_filter" 
    android:showAsAction="always|withText"> 

    <!-- <menu> 
     <item 
      android:id="@+id/menu_ratings" 
      android:title="@string/ratings" 
      android:icon="@drawable/ic_star" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_emotions" 
      android:title="@string/emotions" 
      android:icon="@drawable/ic_smi2" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_categories" 
      android:title="@string/categories" 
      android:icon="@drawable/ic_folder" 
      android:showAsAction="always|withText" /> 
</menu> --> 

<item 
    android:id="@+id/menu_search_order" 
    android:title="@string/search_order"  
    android:icon="@drawable/ic_search_order" 
    android:showAsAction="ifRoom|withText" />  
</item> 

</menu> 

를, 메뉴가 잘 작동하고 옵션 실제 메뉴 버튼을 누르면 표시됩니다.

제 질문은 : 왜 하위 메뉴가 첫 번째 경우에 나타나는 마지막 메뉴를 차단하고 있습니까?

감사합니다.

답변

1

아직도 내 질문에있는 코드가 작동하지 않는 이유를 모르겠지만 마침내 작동하도록 트릭을 발견했습니다. 이 메뉴가 나는 통해 볼 필요가있는 유일한 사람이기 때문에

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:id="@+id/menu_search" 
    android:title="@string/search_filter" 
    android:icon="@drawable/ic_search" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_start_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_end_date" 
    android:title="@string/date_filter" 
    android:showAsAction="always|withText" /> 

<item 
    android:id="@+id/menu_search_order" 
    android:title="@string/search_order"  
    android:icon="@drawable/ic_search_order" 
    android:showAsAction="ifRoom|withText" /> 

<item 
    android:id="@+id/menu_filters" 
    android:title="@string/filters" 
    android:icon="@drawable/ic_filter" 
    android:showAsAction="always|withText"> 

<menu> 
     <item 
      android:id="@+id/menu_ratings" 
      android:title="@string/ratings" 
      android:icon="@drawable/ic_star" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_emotions" 
      android:title="@string/emotions" 
      android:icon="@drawable/ic_smi2" 
      android:showAsAction="always|withText" /> 
     <item 
      android:id="@+id/menu_categories" 
      android:title="@string/categories" 
      android:icon="@drawable/ic_folder" 
      android:showAsAction="always|withText" /> 
</menu> 

</item> 

</menu> 

여기 순서는 중요하지 않습니다 :

난 그냥 XML 파일의 하위 메뉴 전에 (초기 하단에) 내 옵션 메뉴를 이동 실제 메뉴 단추.

관련 문제