2011-07-03 4 views
0

기기 2.1 Eclair -> 3.0 Honeycomb 용 Android 앱을 개발 중입니다. 이제 사용자 설정 영역을 만드는 단계로 넘어 가고 있습니다. 메뉴 & ActionBar Items로 걸림돌을 맞았습니다. Honeycomb ActionBar Items - 충돌 앱

나는 내 아이템과의 아이콘 메뉴 XML 리소스를 만든 다음, 나는이와 자바를 엮은 :

import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
:

는 내가 이미 있던 무슨 위에이 수입을 추가

그리고 다음 Android Developers site said to로 내 활동이 코드 :

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.pixelappmenu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.menuItem_Help: 
     helpDialogGo(); 
     return true; 
    case R.id.menuItem_Settings: 
     settingsActivityGo(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

(이것은 내가 그것을 잘 작동 된 이후 나는 심지어이 모든 새로운 물건 주석과 시작 추가 한 모든입니다. Honeycomb에서 다시 작업했습니다.)

Froyo에서 테스트했을 때 효과가있었습니다. 메뉴가 제목과 아이콘으로 표시되었지만 Honeycomb 태블릿에서 앱을 시작하려고 시도 할 때 앱을 몇 초 동안 보여 주기도합니다.

몇 가지 다른 가능성 관련 코드 : AndroidManifest.xml을

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="11" /> 

pixelappmenu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:title="Help" 
     android:id="@+id/menuItem_Help"/> 
    <item 
     android:title="Settings" 
    android:id="@+id/menuItem_Settings" 
    android:onClick="onMenuItemClick_Settings"/> 
</menu> 
+2

당신이 로그 캣에서 어떤 메시지가 있습니까? – Gregory

+0

@ rabs83 :'android : onClick' 속성을 없애보십시오. 당신은 그것을 사용하지 않고 있으며, 자주 사용하는 것을 보지 않습니다. 그래서 당신의 어려움의 원천이 될 것입니다. 그 외에도 @Gregory가 제안한대로 Eclipse에서'adb logcat', DDMS 또는 DDMS 퍼스펙티브를 사용하여 LogCat을 검사하고 "강제 종료"와 관련된 스택 추적을 살펴보십시오. – CommonsWare

+0

@CommonsWare, 나는 그 일을 해냈습니다. 문제가되지 않습니다. 도와 주셔서 감사합니다. – rabbitt

답변

0

에서

추출물 나는 수정을 발견했다.

메뉴 xml 파일 (res/menu/mymenu.xml 또는 파일을 호출 한 파일)에서 메뉴 항목이 ActionBar에있을 수 있음을 선언해야합니다. 이 작업은 배치하여 수행합니다.

android:showAsAction="ifRoom|withText" 

XML의 항목 내에 있습니다.

샘플 코드는 여기에 있습니다 :

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:title="Help" 
    android:id="@+id/menuItem_Help" 
    android:showAsAction="ifRoom|withText"/> 
<item 
    android:title="Settings" 
    android:id="@+id/menuItem_Settings" 
    android:showAsAction="ifRoom|withText"/> 
</menu> 
+0

또한 텍스트를 표시하려면 "ifRoom"으로 설정하고 표시하려면 오버플로 메뉴에서 "never"로 설정할 수 있습니다. – rabbitt