#android #android-widget
#Android #android-виджет
Вопрос:
У меня есть простое приложение для Android, которое выполняет поиск. У меня есть пользовательское всплывающее окно для выбора фильтров.
Сейчас я разрабатываю виджет приложения для рабочего стола для этого. Виджет приложения похож на виджет поиска Google для Android.
Появляется фильтр, окно поиска (поддельное) и кнопка поиска (вместо голосовой кнопки Google).
Все работает отлично, за исключением всплывающего окна.
При нажатии кнопки фильтра в виджете я запускаю intent с дополнительным значением, указывающим, что нажата кнопка home.
Когда открывается действие, я проверяю наличие дополнительного и выполняю Click () на кнопке, которая должна открывать всплывающее окно. Но это не работает. Есть идеи?
Мой код выглядит примерно так —
В виджете у меня есть —
Intent intent = new Intent(context, ActivityToOpen.class);
Bundle bundle = new Bundle();
bundle.putBoolean(CALL_FROM_WIDGET, true);
bundle.putBoolean(HOME_BUTTON_CLICKED, true);
intent.putExtras(loginBundle);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
В действии у меня есть —
Bundle b = getIntent().getExtras();
if(b != null amp;amp; b.getBoolean(CMWidget.HOME_BUTTON_CLICKED)) {
home_button.performClick();
}
У меня в OnClickListener установлено что-то вроде этого —
home_button = findViewById(R.id.home_button);
home_button.setOnClickListener(new OnClickListener() {
i have implemented onClick() here which pops up the custom popup menu. Popup menu has Quick Action Items.
});
Комментарии:
1. Не могли бы вы опубликовать свой код? Без кода трудно найти проблему.
2. У меня есть вопрос, обновленный с помощью кода.
3. Приятель, ты опубликовал весь код, но не тот, в котором есть проблема.. Как вы реализовали пользовательское всплывающее окно? Возможно, у этого есть некоторые проблемы
Ответ №1:
Я искал это, на которое никто не ответил.
Bundle b = getIntent().getExtras();
if(b != null amp;amp; b.getBoolean(CMWidget.HOME_BUTTON_CLICKED)) {
findViewById(R.id.anchor_button).post(new Runnable() {
@Override
public void run() {
showPopup();
}
}