Изменение цвета значка на панели инструментов действий при изменении другого свойства в действии - PullRequest
0 голосов
/ 23 февраля 2019

В моей деятельности есть текст, который при изменении приложения проверяет, был ли этот текст отмечен пользователем как любимый.На панели действий есть значок сердечка, который ранее считался любимым, когда текст появляется на экране, и приложение проверяет метод isFavorite (), чтобы получить значение этого свойства.Поскольку слух (значок) находится в панели действий, мне нужно найти способ создания экземпляра меню за пределами методов меню.Получить идентификатор и реализовать действие легко, если щелкнуть элемент на панели действий, но это происходит вне методов панели действий.это метод, который я реализую сам.Как я могу это сделать?У меня есть два изображения сердец, одно белое, а другое красное.Когда пользователь касается значка, он меняет цвет, заменяя один другим.

prevQuoteButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               if(prevIndex != 0) {
                   prevIndex--;
                   previousQuoteHelper(prevIndex);
               }
               else {
                   Toast.makeText(MainActivity.this, "Get a new Quote!", Toast.LENGTH_SHORT).show();
               }

            }
        });

 /*
    * Helper method for previous quote button
    * @param prevIndex
    */
    public void previousQuoteHelper(int prevIndex) {
        currentQuote = quoteList.get(prevIndex);
        quoteTextView.setText(currentQuote.getQuote() +"\n"+ currentQuote.getAuthor());
        if(currentQuote.isFave()) {
            //set action bar icon to red
        }
        else {
            //change action bar icon to white
        }
//        isPreviousQuote = true;
        Log.v("PREVIOUS:", prevIndex +" "+ currentQuote.getQuote() +" "+ currentQuote.isFave());
    }
...