Intereting Posts
Отключение автозаполнения для текстового поля и полей ввода в Android-приложении Cordova RuntimeException: ошибка раздувания фрагмента класса Android WebView Воспроизведение видео HTML5 / h.264 / mp4, как попасть в MediaPlayer Firebase onMessageReceived не вызывается, когда приложение находится в фоновом режиме Глубокие ссылки для ссылок в Google+, но ссылка ничего не делает Добавлять действия программно в android QuickActions, как приложение Twitter Почему я получаю: threadid = 3: реагирует на сигнал 3 и замораживание игры (AndEngine)? Может ли платное приложение тестироваться в альфа-бетах бесплатно? Интеграция Zbar в Android-приложение Ошибки с настройкой Ionic приложения Android mediaPlayer – есть ли метод isPrepared () или getStatus ()? Как вы можете отображать перевернутый текст с текстовым просмотром в Android? Как сделать круговую пульсацию на кнопке, когда она нажата? Могу ли я использовать сервис-службу с socket-io?

Закрыть Spinner на клике за пределами Spinner

Я хочу закрыть прядильщик Android, как только я выйду за пределы Spinner. Это возможно?

Solutions Collecting From Web of "Закрыть Spinner на клике за пределами Spinner"

Мне повезло с этим, даже если он не работает полностью.

Аксессуар для плеера получает вид:

public View getView(int position, View v, ViewGroup parent) { if (v == null) { LayoutInflater mLayoutInflater = mActivity.getLayoutInflater(); v = mLayoutInflater.inflate(R.layout.user_row, null); } View tempParent = (View) parent.getParent().getParent().getParent(); tempParent.setOnTouchListener(new MyOnTouchListener(mActivity)); mActivity.setOpen(true); User getUser = mUsers.get(position); return v; } 

Слушатель ontouch:

 public class MyOnTouchListener implements OnTouchListener{ private MyActivity mOverall; public MyTouchListener(MyActivity overall) { mOverall = overall; } public boolean onTouch(View v, MotionEvent event) { if (mOverall.getOpen()) { mOverall.getWindow().setContentView(R.layout.main); //reset your activity screen mOverall.initMainLayout(); //reset any code. most likely what's in your oncreate } return false; } } 

Выбранный прослушиватель:

 public class MySelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { setUser(pos); //or whatever you want to do when the item is selected setOpen(false); } public void onNothingSelected(AdapterView<?> parent) {} } 

Активность

Ваша деятельность с помощью счетчика должна иметь глобальную переменную mOpen с методами get и set. Это связано с тем, что прослушиватель ontouch имеет тенденцию оставаться включенным даже после закрытия списка.

Ограничения этого метода:

Он закрывается, если вы касаетесь счетчика и параметров или сбоку от параметров. Прикосновение к счетчику и ниже параметров все равно не закроет его.

Пытаться

 @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) v.setVisibility(View.GONE); } 

Я хотел бы определить, когда отобразилось меню прядильщика, а также отклонено. После большого поиска не было много хороших решений. Я смог выполнить это, выполнив следующие действия:

  1. Создал собственный класс spinner и переопределит следующий метод:

     @Override public boolean performClick() { this.isDropDownMenuShown = true; //Flag to indicate the spinner menu is shown return super.performClick(); } 
  2. В моей деятельности переопределите метод onWindowFocusChanged (boolean hasFocus). Если hasFocus == true &&, флаг в # 1 установлен в значение true, то счетчик был уволен (может быть либо путем выбора, либо выстукивания вне счетчика).

     @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (actionBarSpinner.isDropdownShown() && hasFocus) { actionBarSpinner.setDropdownShown(false); //Do you work here } 

    }

Удачи!