Butterknife enlaza SearchView desde el menú
En mi proyecto Android actual, utilizo la biblioteca Butterknife
para vincular vistas y utilizar anotaciones onClick
para ellos. Todo esto funciona muy bien en fragmentos, pero ahora estoy en el punto donde no puedo encontrar una solución:
Yo uso la nueva ActionBar
ToolBar
como ActionBar
e inflar un menú con un SearchView
en ella. Para este SearchView
quiero utilizar la anotación @OnTextChanged
pero cuando llamo al método bind con el ActionView
del elemento de menú Butterknife
intenta reinstanciar todas las vistas nuevamente y por supuesto en el ActionView
no puede encontrar ninguna otra vista del RootLayout
.
- Error al usuario ButterKnife en Android Studio y Android 5.0
- Butterknife no encuentra vistas desde el módulo de la Biblioteca de Android
- No se puede encontrar la clase de símbolo en el código generado por Butter Knife
- Android Butterknife - enlazado en fragmento
- Butterknife no puede enlazar dentro de mi Clase de Adaptador
¿Hay tan una manera de agregar solamente una View
con Butterknife
o puedo conseguir una visión que contenga todas las vistas de mi RootLayout
y ToolBarView
así que puedo pasar esta visión al método del lazo? Por ejemplo, en Activites puedo llamar a findViewById
también para los ID de menú, pero si uso getView()
de mi Fragmento no funciona. ¿Ideas para esto?
- GetSupportActionBar (barra de herramientas) lanza la excepción de puntero nulo con Butterknife para la barra de herramientas
- ButterKnife onClick vista personalizada
- Android: ¿Por qué necesitamos usar R2 en lugar de R con butterknife?
- Diferencia entre bind e injectionView en butterknife
- Uso de la biblioteca de Butter Knife para ver la inyección
- Usando Butterknife para inyectar una serie de vistas
- Butterknife - inyecciones múltiples
- método "onClick" en butterknife no es un trabajo?
Creo que esto no es posible ya que el SearchView es un elemento de menú. El identificador que está utilizando en la declaración del menú identifica esta vista dentro del menú, no la vista de la actividad , probablemente por eso Butterknife no puede enlazarla.
Me temo que tendrás que hacer:
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.bookings_list_menu, menu); SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.setOnSearchClickListener(...); searchView.setOnCloseListener(...); searchView.setOnQueryTextListener(...); super.onCreateOptionsMenu(menu, inflater); }
- Accediendo simultáneamente a diferentes miembros del mismo objeto en Java
- Anuncio de vídeo premiado en Admob – Mediación no funciona