Pregunta

Podemos tener un cuadro de texto Editar dentro de nuestro menú que se muestra en la barra de acción y, si podemos, ¿cómo podemos obtener eventos de clic en este texto de edición?

¿Fue útil?

Solución

Puede agregar una barra de búsqueda a la barra de acción, pero no como un elemento de menú ... ¿con qué estás?

Otros consejos

Encontré la solución. Se hace así (solo para Android 3.0 Honeycomb) colocando un texto de edición en la barra de acción para colocar los elementos Use esta etiqueta en su elemento en el menú XML

android:actionLayout="@layout/search_bar"

Defina Editar texto y botón en el diseño Search_Bar.

Ahora para que los oyentes lo hagan así, en onCreateOptionsMenu()

et = (EditText) menu.findItem(R.id.search_bar).getActionView().findViewById(R.id.searchbar);        
findBtn = (ImageButton)menu.findItem(R.id.search_bar).getActionView().findViewById(R.id.find);

Y luego coloque a los oyentes para estos artículos. Funcionará bien

No lo he intentado, pero ¿puedes usar ActionLayout desde el código? De esa manera podría usar el cuadro de texto de esta manera:

LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
LinearLayout wrapper = (LinearLayout) inflater.inflate(R.layout.random_layout, null); 
EditText editText = (EditText )wrapper.findViewById(R.id.edit); 

// 
//code to set the listener 
// 

// 
//set the android:actionLayout to wrapper etc. 
//

Estoy en el trabajo, así que no puedo investigar, así que esto es solo especulaciones ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top