Я делаю свое первое приложение для Android, но у меня возникла проблема. У меня есть более 8 различных классов, которые используют один и тот же файл. Теперь вместо вызова метода в каждом классе (и имея много двойного кода) я хотел бы назвать метод основного класса в других моих классах.Как позвонить (и использовать) onOptionsItemВыбрать из MainActivity в других классах
Это часть моего кода для onOptionsItemSelected в Main.java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.actionbar_new_income:
Intent newIncome = new Intent(this, NewIncome.class);
this.startActivity(newIncome);
return true;
}
}
Теперь мне было интересно, как я мог бы вызвать метод в другом классе (newIncome.java) у меня это до сих пор, но он продолжает говорить, что мне нужно добавить аргументы. И я, конечно, должен уметь обнаруживать, какое из пунктов меню щелкнуть.
MainActivity main = new MainActivity();
main.onOptionsItemSelected();
Любая помощь пожалуйста? Спасибо!
Я не очень хорошо формулировал свой вопрос, поэтому немного отредактировал его. Я говорил о классах, у меня есть 8 классов, где мне придется делать то же самое восемь раз. Будет ли способ сделать суперметод onOptionsItemSelected (меню MenuItem), который я мог бы использовать в каждом классе? Или ваш путь наилучшим образом? – Yenthe
Если все ваши параметры меню только запускают другие действия, вы можете обратиться к общему классу, чтобы обработать это, но если какая-либо из ваших записей в меню делает что-либо, что является специфическим для активности, оно должно обрабатываться этой деятельностью. – Kuffs
Они на самом деле только начинают другие действия, ничего больше. Но мне нужно было бы обнаружить, какой элемент меню щелкнут в каждом отдельном действии и связать его с правильным другим действием. Что было бы лучшим способом сделать это?(обратите внимание, что у меня уже есть расширение для чего-то во всех моих других классах, поэтому я не могу продлить) – Yenthe