2012-01-14 4 views
0

Существует простой способ перевести текст вкладки меню, используя значения strings.xml? Поскольку текст меню установлен на java, я не вижу способа сделать это.Android - вкладка меню перевода

Если нет, то это лучший способ сделать это?

РЕШИТЬ:

Метод для восстановления строки: GetString (R.string.tela_principal_menu_tab_um);

ответ

0

Независимо от того, построено ли ваше меню в формате XML или Java, вы должны использовать strings.xml. Вы можете получить доступ к своим строкам в Java, используя getString(R.string.string_name). См. http://developer.android.com/guide/topics/resources/string-resource.html, а затем следуйте инструкциям для локализации: http://developer.android.com/guide/topics/resources/localization.html для ваших строк.

+0

я обнаружил, что я могу использовать 'GetString (R.string.anything)' восстановить строку внутри Java. Благодаря! – Raist

+0

Я рад, что это помогло. Если бы вы отметили это как правильный ответ, это тоже помогло бы мне. :) –

1

Хотя вы не можете сделать это в strings.xml как легко, я часто использую ресурс меню в xml. Он работает так:

Создайте папку в res\ по имени menu.

Настройка файла XML изначально как этот

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

Теперь вы можете добавить меню в пространство, указанный выше. 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 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:

@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; 
} 

Надеется, что это помогает !

FuzzicalLogic

Смежные вопросы