Я некоторое время отсутствовал на Java - функциональное программирование было моей музой - и недавно решил вернуться с помощью приложения для Android.Дела идут хорошо.Синтаксис Javas в основном у меня в голове, принципы разработки ОО немного ржавые, но я не боюсь перефакторинга.
Одна проблема, с которой я столкнулся, была с меню опций в платформе.Я загружаю их из файла XML через меню-инфлятор в моей основной деятельности (ниже), и я вижу их!Но когда я нажимаю на них, все становится странным - но не то, чтобы видеть, как бабушка красуется со своим лучшим другом, гораздо менее странно.
Почему-то, когда я нажимаю первую кнопку, я получаю дружелюбныйdefault
сообщение в примере кода ниже: «Это не вариант, придурок!».И когда я нажимаю второй, сообщение «Добавление одного».Я один на один как-то!Но как?но почему!?
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_single_id"
android:title="@string/add_one" />
<item android:id="@+id/add_multi_id"
android:title="@string/add_multi" />
</menu>
... который загружается инфлятором меню ...
public boolean onCreateOptionsMenu( Menu menu ){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);
return true;
}
... и, наконец, слушателем выбранных элементов.
public boolean onOptionsItemSelected( MenuItem item ){
switch( item.getItemId() ){
case R.id.add_single_id:
Toast.makeText(this, "Adding One", Toast.LENGTH_LONG).show();
add_single();
break;
case R.id.add_multi_id:
Toast.makeText(this, "Adding n", Toast.LENGTH_LONG).show();
Intent i = new Intent(this, SelectMulti.class);
startActivityForResult(i, ACTIVITY_LOADMULTI);
break;
default:
Toast.makeText(this, "That's not an option, moron!", Toast.LENGTH_LONG).show();
return false;
}
return true;
}