Мой пункт меню здесь:
Код: Выделить всё
В качестве последней попытки я попытался добавить это в свой код и удалить actionViewClass из XML:
Код: Выделить всё
MenuItem refresh = (MenuItem)findViewById(R.id.main_menu_refresh);
Log.w("MyApp", "Have Menu");
ProgressBar pb = new ProgressBar(ReadingList.this);
refresh.setActionView(pb);
Мне нужно решение, которое я могу вызвать из любой функции (в начале есть период автосинхронизации, во время которого я также хотел бы, чтобы ProgressBar отображался), и иметь возможность после этого вернуть его к статическому значку.
Я пытался прочитать этот вопрос, но Мне трудно понять, что означает ответ. Мне кажется, что я пытался сделать именно то, что здесь написано, но, думаю, нет. Мы очень ценим любую помощь.
Изменить: по предложению Састракси.
Код: Выделить всё
public class IconSwitcher extends LinearLayout{
public IconSwitcher(Context context) {
super(context);
ProgressBar pb = new ProgressBar(context);
ImageView iv = new ImageView(context);
addView(iv);
addView(pb);
}
}
Код: Выделить всё
MenuItem refresh = (MenuItem)findViewById(R.id.main_menu_refresh);
IconSwitcher ic = (IconSwitcher) refresh.getActionView();
Код: Выделить всё
Изменить 2: я судя по всему, вообще возникли проблемы со ссылкой на пункт меню.
Код: Выделить всё
MenuItem refresh = (MenuItem)findViewById(R.id.main_menu_refresh);
refresh.setVisible(false);
Подробнее здесь: https://stackoverflow.com/questions/993 ... action-bar