Не удается в фрагменте получить методы из интерфейса. Как это можно исправить?

110
27 января 2020, 17:40

Почему при попытки получить методы из интерфейса, пишет Cannot resolve method 'isProduct()' и Cannot resolve method 'getMenuTitle()'. ourMenuItemsя прописываю как ArrayList

private final ArrayList<MenuPosition> ourMenuItems = new ArrayList<>();

В интерефесе все есть, однако в фрагменте все равно не получается их получить. Как это можно исправить? Вот скрин проблемного фрагмента

Вот код интерфейса MenuPosition

public interface MenuPosition {
   public String getIcon();
   public int getId();
   public String getImageUrl();
   public String getMenuTitle();
   public boolean isProduct();
}

Вот код проблемного фрагмента

    @Override
public void onItemClick(View object, int n2) {
    try {
        object = (View) this.ourMenuItems.get(n2);
        if (!object.isProduct()) {
            if (this.materialFragmentActivityCallback != null) {
                object = CatalogFragment.instance(object.getId(), object.getMenuTitle());
                this.materialFragmentActivityCallback.beginFragmentManagerTransaction((Fragment)object, true);
                return;
            }
        } else {
            Intent intent = new Intent(getActivity(),ProductActivity.class);
            intent.putExtra("PRODUCT_ID", object.getId());
            this.startActivity(intent);
        }
        return;
    }
    catch (Exception exception) {
        return;
    }
}
Answer 1

Вы пытаетесь переписать метод onItemClick(View object, int n2), которого нет в вашем интерфейсе. Судя по этой ссылке, даже во View нет метода onItemClick(View object, int n2)

Далее, у вас View object то View как тут object = (View) this.ourMenuItems.get(n2); ,то Fragment как тут (Fragment)object, true).

Судя по тому, что у вас оба метода из MenuPosition, а именно isProduct() и getMenuTitle() подсвечиваются красным, то вы не имплемитировали интерфейс.

READ ALSO
настройка JNDI @Resource

настройка JNDI @Resource

в проекте (spring boot + embedded tomcat) я использую jar файл в котором есть класс

140
Не понятная работа уведомления

Не понятная работа уведомления

Создаю уведомление для приложения, вроде нормально работало, и резко не понимаю из-за чего(вроде ничего такого не делал) перестало вообще...

134
JWindow.toBack(); только для одного окна

JWindow.toBack(); только для одного окна

Столкнулся с проблемкой хочу убрать 1 окно на задний план, но почему-то убираются все с JFrame такой проблемы нет

133