2012-01-14 7 views
0

값 strings.xml을 사용하여 메뉴 탭의 텍스트를 번역하는 간단한 방법이 있습니까? 자바에서 메뉴 텍스트가 설정되었으므로 그렇게 할 방법이 없습니다.Android - 번역 메뉴 탭

그렇지 않은 경우 더 좋은 방법은 무엇입니까?

해결 :

방법은 문자열 복구 :에는 getString (R.string.tela_principal_menu_tab_um를);

답변

0

메뉴가 XML 또는 Java로 작성되었는지 여부에 관계없이 strings.xml을 사용할 수 있어야합니다. getString(R.string.string_name)을 사용하여 Java에서 문자열에 액세스 할 수 있습니다. http://developer.android.com/guide/topics/resources/string-resource.html을 참조한 다음 현지화 지침 (http://developer.android.com/guide/topics/resources/localization.html)을 따릅니다.

+0

Java에서 문자열을 복구하기 위해'getString (R.string.anything) '을 사용할 수 있음을 알았습니다. 감사! – Raist

+0

도움이 된 것을 기쁘게 생각합니다. 이것을 올바른 답으로 표시하면 나에게도 도움이 될 것입니다. :) –

1

strings.xml에서 쉽게 할 수는 없지만 XML에서 메뉴 리소스를 자주 사용합니다. 그것은 다음과 같이 작동합니다 :

menu이라는 폴더를 만듭니다.

지금 위에 표시된 공간에 메뉴를 추가 할 수 있습니다이

`<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- menu contents in here... --> 
</menu>` 

처럼 처음에 XML 파일을 설정합니다. Groups은 복수 Items을 보유 할 수도 있고, Items을 보유 할 수도 있습니다. 각각은 자신의 id을 가지므로 빠르고 쉽게 참조 할 수 있습니다. 여기에 전체 샘플입니다 .. 지금

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/cmd1" android:title="My 1st Command" android:enabled="true" android:visible="true" /> 
    <item android:id="@+id/cmd2" android:title="My 2nd Command" android:enabled="true" android:visible="true" /> 
    <item android:id="@+id/cmd3" android:title="My 3rd Command" android:enabled="true" android:visible="true" /> 
    <item android:id="@+id/cmd4" android:title="My 4th Command" android:enabled="true" android:visible="true" /> 
</menu> 

간단히과 같이 코드에 추가 할 수 있습니다 :

@Override public boolean onMenuItemClick(final MenuItem onItem) 
{//Determine which MenuItem was Clicked 
    switch (onItem.getItemId()) 
    { case R.id.cmd1: 
     //Action code 
      break; 
     case R.id.cmd2: 
     //Action code 
      break; 
     case R.id.cmd3: 
     //Action code 
      break; 
     case R.id.cmd4: 
     //Action code 
      break; 
    } 
// Return as Handled (true) 
    return true; 
} 

희망이 도움이 :

@Override public boolean onCreateOptionsMenu(final Menu newMenu) 
{//Clear the Current Menu 
    newMenu.clear(); 
// Reinflate the Menu 
    final MenuInflater _inflate = getMenuInflater(); 
    _inflate.inflate(R.menu.app_menu, newMenu); 
// Set the ClickListener to This 
    final int _numItems = newMenu.size(); 
    for (int _iItem = 0; _iItem < _numItems; _iItem++) 
     newMenu.getItem(_iItem).setOnMenuItemClickListener(this); 
// Return as Handled (true) 
    return true; 
} 

마지막으로, 당신은 onClicks 추가 !

FuzzicalLogic