Хотя вы не можете сделать это в 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
я обнаружил, что я могу использовать 'GetString (R.string.anything)' восстановить строку внутри Java. Благодаря! – Raist
Я рад, что это помогло. Если бы вы отметили это как правильный ответ, это тоже помогло бы мне. :) –