Вызовите метод super:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Add your menu entries here
super.onCreateOptionsMenu(menu, inflater);
}
Поместите операторы журнала в код, чтобы увидеть, не вызывается ли метод или не изменяется ли меню вашим кодом.
Также убедитесь, что вы звоните setHasOptionsMenu(boolean)
в onCreate(Bundle)
, чтобы уведомить фрагмент о том, что он должен участвовать в обработке меню опций.
Возможно, это немного взломано, но если вы посмотрите на список расширений, возвращаемых Xsun и Xorg, вы увидите, что у Xorg есть несколько дополнительных расширений, производных от XFree86.
xdpyinfo
можно использовать для вывода списка расширений через командную строку для проверки различий; программно вы можете использовать XListExtensions ()
или XQueryExtension ()
.
(У меня нет Xsun X Server под рукой, но я был уверен, когда посмотрел в прошлом они сильно различались).
Спасибо! Ой, это строка VendorRelease (). В любом случае, к сожалению, мы не можем делать ставки на эту строку. Он меняется достаточно часто, чтобы возникать проблема, как для Xsun, так и для Xorg. Я нашел решение, работающее (надеюсь) для них и для различных других (производных) серверов, таких как Xvfb, Xnest и т.д.
Xsun действительно использует третье значение в массиве ключей для кодов клавиш KP_ (numpad). Xorg использует 1-й или 2-й. Сниффер должен сначала получить код ключа для KP_ keysym, например XK_KP_7, во-вторых, понюхайте то, что находится в XKeycodeToKeysym (d, keycode, [0-3]). Наш XK_KP_7 будет в индексе 2 для Xsun.
$ xdpyinfo | grep vendor vendor string: The X.Org Foundation vendor release number: 10601901
Это xorg-server 1.6.1 в Linux. Надеюсь, XOrg и XSun в Solaris будут здесь отличаться.
Чтобы вывести эти два поля, xdpyinfo
вызывает макрос ServerVendor
, чтобы определить поставщика, а затем анализирует возвращенные данные. Макрос VendorRelease
по-разному в зависимости от того, что ServerVendor
было.
Кстати, что такое VendorString ()
? У меня нет функции или макроса с таким названием ...